如何使用 System.Net.HttpClient 正确指定代理

How to correctly specify proxy with System.Net.HttpClient

如果在 web.config 中指定,任何人都可以回答 HttpClient 是否应该使用默认代理吗?

<system.net>
    <defaultProxy enabled="true" useDefaultCredentials="true">
        <proxy proxyaddress="http://my.proxy" bypassonlocal="False" />
    </defaultProxy>
</system.net>

每当我使用 HttpClient 时,我发现自己必须实现静态 HttpClientHandler

private static HttpClientHandler statichandler = new HttpClientHandler()
{
    Proxy = new WebProxy(ConfigurationManager.AppSettings["HttpClientProxy"].ToString()),
            UseProxy = true,
};

有没有办法强制 httpclient 获取 system.net 默认配置 sections/What 我错过了吗?

实际的解决方案是使用 HttpClientHandler 实现 Httpclient,将 UseProxy 显式设置为 true。

private static HttpClientHandler statichandler = new HttpClientHandler()
{
   UseProxy = true
};

这然后选择了以下内容:

<system.net>
    <defaultProxy enabled="true" useDefaultCredentials="true">
        <proxy proxyaddress="http://my.proxy" bypassonlocal="False" />
    </defaultProxy>
</system.net>