Skip to content

Commit bf64a83

Browse files
committed
HttpClient.DefaultProxy environment variable format
Include additional information about the supported formats for HTTP_PROXY, HTTPS_PROXY, and ALL_PROXY environment variables based on the handling in [HttpEnvironmentProxy.TryCreate] and [HttpEnvironmentProxy.GetUriFromString]. The lack of https support (see dotnet/runtime#31113) is specifically noted since it may catch users by surprise (as it did for me) and is difficult to debug due to the lack of diagnostic logging. [HttpEnvironmentProxy.GetUriFromString]: https://github.com/dotnet/runtime/blob/v5.0.0-preview.4.20251.6/src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/HttpEnvironmentProxy.cs#L136 [HttpEnvironmentProxy.TryCreate]: https://github.com/dotnet/runtime/blob/v5.0.0-preview.4.20251.6/src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/HttpEnvironmentProxy.Unix.cs#L16 Signed-off-by: Kevin Locke <[email protected]>
1 parent d17c5cd commit bf64a83

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

xml/System.Net.Http/HttpClient.xml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -426,11 +426,14 @@ The default instance returned by this property will initialize following a diffe
426426
* **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.
427427
428428
The environment variables used for `DefaultProxy` initialization on Windows and Unix-based platforms are:
429-
* HTTP_PROXY: the hostname or IP address of the proxy server used on HTTP requests.
430-
* HTTPS_PROXY: the hostname or IP address of the proxy server used on HTTPS requests.
431-
* ALL_PROXY: the hostname or IP address of the proxy server used on HTTP and/or HTTPS requests in case HTTP_PROXY and/or HTTPS_PROXY are not defined.
429+
* HTTP_PROXY: the proxy server used on HTTP requests.
430+
* HTTPS_PROXY: the proxy server used on HTTPS requests.
431+
* ALL_PROXY: the proxy server used on HTTP and/or HTTPS requests in case HTTP_PROXY and/or HTTPS_PROXY are not defined.
432432
* NO_PROXY: a comma-separated list of hostnames that should be excluded from proxying.
433433
434+
On systems where environment variables are case-sensitive, the variable names may be all lower-case or all upper-case. The all lower-case names are checked first.
435+
436+
The proxy server may be a hostname or IP address, optionally followed by a colon and port number, or it may be an http URL, optionally including a username and password for proxy authentication. The URL must be http (https is not currently supported) and must not include any text after the hostname, IP, or port.
434437
]]></format>
435438
</remarks>
436439
<exception cref="T:System.ArgumentNullException">The value passed cannot be <see langword="null" />.</exception>

0 commit comments

Comments
 (0)