Flutter WebView с прокси - PullRequest
       12

Flutter WebView с прокси

0 голосов
/ 19 февраля 2019

Я пытаюсь создать приложение с веб-представлением, которое загружает страницу с прокси.Мне нужно изменить прокси программно (чтобы установить 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.

У кого-нибудь есть идеи, как я могу это сделать?

1 Ответ

0 голосов
/ 22 апреля 2019

Это можно сделать, установив заголовок по умолчанию для всех запросов в флаттерных 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...