Mac环境让Flutter通过代理请求外网

在我们开发过程中,会遇到使用一些外网接口或者请求,例如:Google验证、Facebook请求等。这时候会需要使用科学上网的方式。那怎么让flutter也通过科学上网的方式请求需要的内容呢?其实挺简单的,方法如下:

1.最重要的:我们需要一个能过科学上网的梯子!!

2.设置环境变量,重启vscode

export http_proxy=http://127.0.0.1:7890
export https_proxy=http://127.0.0.1:7890

3.flutter中增加“http_proxy”插件,这个插件能过设置请求代理。

4.在“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";// 代理服务器的ip地址,例如:127.0.0.1
  httpProxy.port = "port";// 代理服务器的端口,例如:7890
  HttpOverrides.global=httpProxy;

  ...

嗯,这样在代码中的所有请求,都将使用这里设置的代理服务器。

滚动至顶部