HttpClient.DefaultProxy Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets or sets the global HTTP proxy.
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
Property Value
A proxy used by every HTTP request.
Exceptions
The value passed cannot be null
.
Remarks
This static property determines the default proxy that all HttpClient instances use if no proxy is set explicitly in the HttpMessageHandler passed through its constructor.
The default instance returned by this property will initialize following a different set of rules depending on your platform:
For Windows: Reads proxy configuration from environment variables or, if those are not defined, from the user's proxy settings.
For macOS: Reads proxy configuration from environment variables or, if those are not defined, from the system's proxy settings.
For Linux: Reads proxy configuration from environment variables or, in case those are not defined, this property initializes a non-configured instance that bypasses all addresses.
The environment variables used for DefaultProxy
initialization on Windows and Unix-based platforms are:
- HTTP_PROXY: the proxy server used on HTTP requests.
- HTTPS_PROXY: the proxy server used on HTTPS requests.
- ALL_PROXY: the proxy server used on HTTP and/or HTTPS requests in case HTTP_PROXY and/or HTTPS_PROXY are not defined.
- NO_PROXY: a comma-separated list of hostnames that should be excluded from proxying. Asterisks are not supported for wildcards; use a leading dot in case you want to match a subdomain. Examples:
NO_PROXY=.example.com
(with leading dot) will matchwww.example.com
, but will not matchexample.com
.NO_PROXY=example.com
(without leading dot) will not matchwww.example.com
. This behavior might be revisited in the future to match other ecosystems better.
On systems where environment variables are case-sensitive, the variable names may be all lowercase or all uppercase. The lowercase names are checked first.
The proxy server may be a hostname or IP address, optionally followed by a colon and port number, or it may be an http
, https
, socks4
, socks4a
, or socks5
URL. The URL cannot include any text after the hostname, IP, or port. If a scheme isn't specified, http
is assumed.
The URL may optionally include a username and password for proxy authentication, but the password is ignored when using socks4
or socks4a
as the protocols have no support for password authentication.
http
:http://[username:password@]hostname[:port]
https
:https://[username:password@]hostname[:port]
socks4
:socks4://[username@]hostname[:port]
socks4a
:socks4a://[username@]hostname[:port]
socks5
:socks5://[username:password@]hostname[:port]