当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Dart HttpClient.findProxyFromEnvironment用法及代码示例


dart:io 库中HttpClient.findProxyFromEnvironment 方法的用法介绍如下。

用法:

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

用于从通过环境变量指定的代理配置解析用于 HTTP 连接的代理服务器的函数。

考虑以下环境变量:

http_proxy
https_proxy
no_proxy
HTTP_PROXY
HTTPS_PROXY
NO_PROXY

http_proxyHTTP_PROXY 指定用于 http://url 的代理服务器。使用格式 hostname:port 。如果未使用端口,则将使用默认值 1080。如果两者都设置,则小写字母优先。

https_proxyHTTPS_PROXY 指定用于 https://url 的代理服务器。使用格式 hostname:port 。如果未使用端口,则将使用默认值 1080。如果两者都设置,则小写字母优先。

no_proxyNO_PROXY 指定不使用代理服务器的主机名后缀的逗号分隔列表。例如:值 "localhost,127.0.0.1" 将向 "localhost" 和 "127.0.0.1" 发出请求,而不使用代理。如果两者都设置,则小写字母优先。

要激活这种解析代理的方式,请将此函数分配给 HttpClient 上的 findProxy 属性。

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 可用于为需要身份验证的代理设置凭据。

相关用法


注:本文由纯净天空筛选整理自dart.dev大神的英文原创作品 findProxyFromEnvironment method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。