HttpClient.DefaultProxy 属性

定义

获取或设置全局 HTTP 代理。

public:
 static property System::Net::IWebProxy ^ DefaultProxy { System::Net::IWebProxy ^ get(); void set(System::Net::IWebProxy ^ value); };
public static System.Net.IWebProxy DefaultProxy { get; set; }
static member DefaultProxy : System.Net.IWebProxy with get, set
Public Shared Property DefaultProxy As IWebProxy

属性值

每个 HTTP 请求使用的代理。

例外

传递的值不能为 null

注解

如果通过其构造函数传递的 中HttpMessageHandler未显式设置代理,则此静态属性确定所有HttpClient实例使用的默认代理。

此属性返回的默认实例将基于平台按照一组不同的规则进行初始化:

  • 对于 Windows:从环境变量读取代理配置,或者,如果未定义这些变量,则从用户的代理设置中进行读取。

  • 对于 macOS:从环境变量读取代理配置,或者,如果未定义这些变量,则从系统的代理设置中进行读取。

  • 对于 Linux:从环境变量读取代理配置,或者,如果未定义这些变量,则此属性将初始化绕过所有地址的非配置实例。

基于 Windows 和 Unix 的平台上用于 DefaultProxy 初始化的环境变量是:

  • HTTP_PROXY:用于 HTTP 请求的代理服务器。
  • HTTPS_PROXY:用于 HTTPS 请求的代理服务器。
  • ALL_PROXY:如果未定义HTTP_PROXY和/或HTTPS_PROXY,则用于 HTTP 和/或 HTTPS 请求的代理服务器。
  • NO_PROXY:应从代理中排除的主机名的逗号分隔列表。 通配符不支持星号;如果要匹配子域,请使用前导点。 示例:NO_PROXY=.example.com(带前导点)将与 www.example.com 匹配,但与 example.com 不匹配。 NO_PROXY=example.com(不带前导点)与 www.example.com 不匹配。 将来可能会重新访问此行为,以更好地匹配其他生态系统。

在环境变量区分大小写的系统上,变量名称可能全部小写或全部大写。 首先检查小写名称。

代理服务器可以是主机名或 IP 地址,后跟冒号和端口号(可选),也可以是 http URL,(可选)包括用于代理身份验证的用户名和密码。 URL 必须以 http(而不是 https)开头,不能在主机名、IP 或端口之后包含任何文本。

适用于