Spec-Zone.ru › Dart 2

dart:io

findProxyFromEnvironment статический метод

String findProxyFromEnvironment(
  1. Uri url,
  2. {Map<String, String>? environment}
)

Функция для определения прокси-сервера, который будет использоваться для 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API