6.22Proxy 与 HTTP/3

如果需要通过代理服务器发送请求,可以通过配置 HttpClientHandler 的 Proxy 属性来实现。下面是一个示例,展示了如何配置代理服务器,包括基本的身份验证。

配置 Proxy 代理服务器#

如果需要通过代理服务器发送请求,可以通过配置 HttpClientHandlerProxy 属性来实现。下面是一个示例,展示了如何配置代理服务器,包括基本的身份验证。

cs
services.AddHttpClient(string.Empty, client => {})    .ConfigurePrimaryHttpMessageHandler(() =>        new HttpClientHandler   // 或使用 new SocketsHttpHandler {}        {            Proxy = new WebProxy("http://proxyserver:8080", false)            {                Credentials = new NetworkCredential("username", "password") // 如果需要身份验证            },            UseProxy = true // 默认情况下 UseProxy 是 true,确保它被启用        });

配置 HTTP/3 支持#

HTTP/3HTTP 协议的最新版本,基于 QUIC(Quick UDP Internet Connections)协议之上,旨在提供更低的延迟、更高的吞吐量和改进的多路复用能力。您可以添加以下配置来启用 HTTP/3 支持:

cs
// 默认客户端配置services.AddHttpClient(string.Empty, client =>{    // 设置默认请求版本为 HTTP/3    client.DefaultRequestVersion =  HttpVersion.Version30;    // 指定版本策略为精确匹配请求版本,确保使用 HTTP/3    client.DefaultVersionPolicy = HttpVersionPolicy.RequestVersionExact;});

通过上述配置,我们能够确保在发送 HTTP 远程请求时严格使用指定的 HTTP 版本(即 HTTP/3),从而充分利用 HTTP/3 提供的性能改进和功能优势。