findProxyFromEnvironment статический метод
Функция для определения прокси-сервера, который будет использоваться для HTTP-подключения, на основе конфигурации прокси, заданной с помощью переменных среды.
Учитываются следующие переменные среды:
http_proxy https_proxy no_proxy HTTP_PROXY HTTPS_PROXY NO_PROXY
http_proxy и HTTP_PROXY задают прокси-сервер для URL-адресов http://. Используйте формат hostname:port. Если порт не указан, будет использоваться порт 1080 по умолчанию. Если заданы обе переменные, приоритет имеет имя в нижнем регистре.
https_proxy и HTTPS_PROXY задают прокси-сервер для URL-адресов https://. Используйте формат hostname:port. Если порт не указан, будет использоваться порт 1080 по умолчанию. Если заданы обе переменные, приоритет имеет имя в нижнем регистре.
no_proxy и NO_PROXY задают список суффиксов имен хостов, разделенных запятыми, для которых не следует использовать прокси-сервер. Например, значение "localhost,127.0.0.1" приведет к тому, что запросы к "localhost" и "127.0.0.1" будут выполняться без использования прокси. Если заданы обе переменные, приоритет имеет имя в нижнем регистре.
Чтобы активировать этот способ определения прокси, присвойте эту функцию свойству findProxy объекта HttpClient.
HttpClient client = HttpClient(); client.findProxy = HttpClient.findProxyFromEnvironment;
Если вы не хотите использовать системное окружение, можно использовать другое, обернув функцию.
HttpClient client = HttpClient();
client.findProxy = (url) {
return HttpClient.findProxyFromEnvironment(
url, environment: {"http_proxy": ..., "no_proxy": ...});
} Если прокси требует аутентификации, можно также указать имя пользователя и пароль. Используйте формат username:password@hostname:port, чтобы включить имя пользователя и пароль. Кроме того, для задания учетных данных прокси, требующим аутентификации, можно использовать API addProxyCredentials.
Реализация
static String findProxyFromEnvironment(Uri url,
{Map<String, String>? environment}) {
HttpOverrides? overrides = HttpOverrides.current;
if (overrides == null) {
return _HttpClient._findProxyFromEnvironment(url, environment);
}
return overrides.findProxyFromEnvironment(url, environment);
}
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.19.6/dart-io/HttpClient/findProxyFromEnvironment.html