【问题标题】:Use Http Proxy in Flutter在 Flutter 中使用 Http 代理
【发布时间】:2021-04-09 19:44:59
【问题描述】:

我居住在受限制的国家/地区,并且 Firebase 等服务需要使用 VPN。 所以我正在创建使用 Firebase 作为后端的颤振应用程序&我想知道我可以将代理设置为应用程序中的整个连接到 GET 和 POST 等请求吗?

【问题讨论】:

    标签: flutter http


    【解决方案1】:

    你没有说什么平台,但至少对于类 Unix 的东西,大多数应用程序和库都尊重 http_proxy 环境变量,你可以在大多数 shell 中设置它:

    $ 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】:
    1. 对于 windows 通过在环境变量中设置(系统属性)
    http_proxy=http://server_ip:port
    
    https_proxy=http://server_ip:port
    
    1. pub_specs.yaml

      http_proxy:^1.1.0

    2. 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;
    
      ...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-03
      • 2015-07-23
      • 1970-01-01
      • 1970-01-01
      • 2016-02-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多