當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。