首页 > 解决方案 > DotNet HttpClient.DefaultProxy 属性未读取 Win10 上的系统设置

问题描述

文档表明,HttpClient的默认代理设置将通过环境变量和/或系统范围的代理设置来确定。

我像这样设置代理身份验证凭据: setx http_proxy http://user:password@proxyIP:proxyPort/,并确保重新启动系统。由于 Windows 代理设置对话框不允许设置用户名和密码,因此我在其中包含了代理地址和端口。

现在我尝试使用我的 C# 应用程序通过 CredentialCache 读回它们。

但是 CredentialCache.DefaultCredentials 仍然为空,并且代理阻塞并以 407 异常响应。这是正确的,因为我无法通过凭据。

我如何设置用户名和密码才能从 CredentialCache 中读取它们?

我希望能够走这条路,因为很久以前交付给客户的非常旧的代码,使用 WebRequest 对象和此设置能够通过。:

        UseDefaultCredentials = true;
        Proxy = WebRequest.GetSystemWebProxy();
        Proxy.Credentials = CredentialCache.DefaultCredentials;

这就是为什么我也希望能够向 Windows 写入一些东西,然后再从缓存中读取。

标签: c#.netproxydotnet-httpclientproxy-authentication

解决方案


推荐阅读