Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 带代理的颤振WebView_Android_Ios_Webview_Dart_Flutter - Fatal编程技术网

Android 带代理的颤振WebView

Android 带代理的颤振WebView,android,ios,webview,dart,flutter,Android,Ios,Webview,Dart,Flutter,我正在尝试使用webview构建应用程序,该应用程序使用代理加载页面。我需要以编程方式更改代理(设置ip、端口、用户名和密码) 我想使用WebviewScaffold(flatter\u webview\u插件:^0.3.0+2)并全局覆盖HttpClient,如下所示: class CustomHttp extends HttpOverrides{ @override HttpClient createHttpClient(SecurityContext securityContex

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

我想使用WebviewScaffold(flatter\u webview\u插件:^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


有人知道我该怎么做吗?

可以通过为flutt HTTP请求中的所有请求设置默认头来完成

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

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

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

可以通过为颤振HTTP请求中的所有请求设置默认头来完成

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

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

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

我尝试过这种方法,但不起作用。webview仍然没有使用代理。不幸的是,据我所知,您无法为Android上的任何webview设置代理:-(我尝试过这种方法,但不起作用。webview仍然没有使用代理。不幸的是,我知道,您无法为Android上的任何webview设置代理:-(