gpt4 book ai didi

android - 带代理的 Flutter WebView

转载 作者:行者123 更新时间:2023-11-29 06:00:06 28 4
gpt4 key购买 nike

我正在尝试使用 webview 构建应用程序来加载带有代理的页面。我需要以编程方式更改代理(设置 IP、端口、用户名和密码)。

我有一个想法,使用 WebviewScaffold (flutter_webview_plugin: ^0.3.0+2) 并全局覆盖 HttpClient,如下所示:

class CustomHttp extends HttpOverrides{

@override
HttpClient createHttpClient(SecurityContext securityContext){
var client = new HttpClient();;
client.findProxy = (Uri uri) {
return 'PROXY XX.XX.XX.XX:{PORT};';
};
client.authenticate = (uri, scheme, realm) {
client.addCredentials(uri, realm, new HttpClientBasicCredentials('username', 'password'));
};
return client;
}

}

但没有运气。看起来 WebviewScaffold 没有使用全局 HttpClient。

有人知道我该怎么做吗?

最佳答案

可以通过为flutter HTTP请求中的所有请求设置默认 header 来完成。

class MyHttpOverrides extends HttpOverrides {
@override
HttpClient createHttpClient(SecurityContext context) {
return new MyHttpClient(super.createHttpClient(context));
}
}

void main() {
HttpOverrides.global = new MyHttpOverrides();
runApp(MyApp());
}

您可以在 HttpClient 类中指定代理设置。

关于android - 带代理的 Flutter WebView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54763466/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com