Метод findProxyFromEnvironment
String findProxyFromEnvironment(Функция для определения прокси-сервера, который будет использоваться для HTTP-соединения на основе конфигурации прокси, указанной в переменных среды.
Учитываются следующие переменные среды:
http_proxy https_proxy no_proxy HTTP_PROXY HTTPS_PROXY NO_PROXY
http_proxy и HTTP_PROXY указывают прокси-сервер для использования с http:// адресами. Используйте формат hostname:port. Если порт не используется, используется значение по умолчанию 1080. Если оба значения установлены, используется значение в нижнем регистре.
https_proxy и HTTPS_PROXY указывают прокси-сервер для использования с https:// адресами. Используйте формат hostname:port. Если порт не используется, используется значение по умолчанию 1080. Если оба значения установлены, используется значение в нижнем регистре.
no_proxy и NO_PROXY указывают список, разделённый запятыми, суффиксов имён хостов, для которых не следует использовать прокси-сервер. Например, значение "localhost,127.0.0.1" сделает так, что запросы к "localhost" и "127.0.0.1" не будут использовать прокси. Если оба значения установлены, используется значение в нижнем регистре.
Для активации данного способа определения прокси назначьте эту функцию свойству findProxy объекта HttpClient.
HttpClient client = new HttpClient(); client.findProxy = HttpClient.findProxyFromEnvironment;
Если вы не хотите использовать системную среду, вы можете использовать другую, обернув функцию.
HttpClient client = new HttpClient();
client.findProxy = (url) {
return HttpClient.findProxyFromEnvironment(
url, {"http_proxy": ..., "no_proxy": ...});
}
Если прокси требует аутентификации, можно также настроить имя пользователя и пароль. Используйте формат username:password@hostname:port для включения имени пользователя и пароля. В качестве альтернативы, можно использовать API addProxyCredentials для установки учетных данных для прокси, требующих аутентификации.
Исходный код
static String findProxyFromEnvironment(Uri url,
{Map<String, String> environment}) {
return _HttpClient._findProxyFromEnvironment(url, environment);
}
© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-io/HttpClient/findProxyFromEnvironment.html