#flutter #http
#flutter #http
Вопрос:
Я живу в стране с ограниченным доступом, и для использования таких сервисов, как Firebase, требуется VPN. итак, я создаю приложение flutter, которое использует Firebase в качестве серверной части, и я хочу знать, могу ли я установить прокси для всех подключений в приложении для запросов GET amp; POST и т. Д.?
Ответ №1:
Вы не сказали, для какой платформы, но, по крайней мере, для Unix-подобных вещей, большинство приложений и библиотек уважают переменную http_proxy
среды, которую вы можете установить в большинстве оболочек, таких как:
$ export http_proxy=http://server-ip:port/
$ export http_proxy=http://127.0.0.1:3128/
$ export http_proxy=http://proxy-server.mycorp.com:3128/
$ export http_proxy=http://foo:bar@server-ip:port/
$ export http_proxy=http://foo:bar@127.0.0.1:3128/
$ export http_proxy=http://USERNAME:PASSWORD@proxy-server.mycorp.com:3128/
Соответствующая строка будет специфична для вашей среды. Подробная информация об интерпретации переменных среды приведена по адресу: https://api.flutter.dev/flutter/dart-io/HttpClient/findProxyFromEnvironment.html .
Ответ №2:
- Для Windows, установив переменные среды (системные свойства)
http_proxy=http://server_ip:port https_proxy=http://server_ip:port
- pub_specs.yaml
http_proxy: ^ 1.1.0
- main.dart
import 'package:http_proxy/http_proxy.dart'; import 'package:flutter/foundation.dart'; ... void main() async { ... WidgetsFlutterBinding.ensureInitialized(); HttpProxy httpProxy = await HttpProxy.createHttpProxy(); httpProxy.host = "server_ip";// replace with your server ip httpProxy.port = "port";// replace with your server port HttpOverrides.global=httpProxy; ...