Простая проблема.
Вы пытаетесь использовать GET
запрос, используя ваш IP, который не будет работать.
Я вижу, что вы используете сервер Flask
на локальном хостек которому можно получить прямой доступ с вашего компьютера, но не снаружи. Таким образом, вы получаете тайм-аут с вашим приложением.
Решение
Вам необходимо предоставить свой локальный хост, чтобы можно было использовать внешнее соединение.
Предложения:
- ngrok или
- serveo.net
В основном они разрешают внешний трафик на ваш локальный порт
Myтестирование.
Запуск сервера node
с использованием express js
на порту 3000
на моем конце.
Но http://<my_ip>:3000/
не будет работать извне
Итак, я запустил команду ssh -R test_user:80:localhost:3000 serveo.net
на отдельном терминале, которая просто говорит, что я хочу выставить свой порт 3000
, и внешние соединения будут подключаться к https://test_user.serveo.net
(он выдаст URL после запуска команды для внешних подключений).
Теперь мой сервер узлов может видеть соединения от моего localhost
(с моего компьютера) и, если кто-то посещает https://test_user.serveo.net
Для приложения флаттера
Future <String> getData() async {
http.Response resp =
await http.get('https://test_user.serveo.net', headers: {
HttpHeaders.contentTypeHeader: "application/json",
});
print(resp.body);
//... whatever
}
покажет вам ответ.
РЕДАКТИРОВАТЬ:
Другой быстрый взлом, который я нашел, был этот
тип ifconfig | grep inet
на вашем компьютере, который даст вам что-то вроде
inet 192.168.12.1 netmask 255.255.255.0
, вы также можете использовать http://192.168.12.1
для подключения извне