gpt4 book ai didi

具有代理凭据的 C# HttpWebRequest 未将凭据传递给代理服务器

转载 作者:行者123 更新时间:2023-11-30 17:54:58 25 4
gpt4 key购买 nike

我目前正在关注与此类似的内容:

 HttpWebRequest myWebRequest = (HttpWebRequest) WebRequest.Create("http://www.microsoft.com");
IWebProxy proxy = myWebRequest.Proxy;
Uri newUri = new Uri(proxyAddress);
myProxy.Address = newUri;
... (setting of username/password for proxy)
myProxy.Credentials = new NetworkCredential(username, password);
myWebRequest.Proxy = myProxy;

HttpWebResponse myWebResponse = (HttpWebResponse) myWebRequest.GetResponse();

我正在运行 IIS 7.5 托管应用程序的代码,该应用程序需要在进程继续之前验证 URL 是否可联系。由于该服务不应访问外部世界,因此我需要使用具有我们 IT 部门提供给我的凭据的特定代理服务器。

不幸的是,无论我尝试什么(app.config 中的 system.net/default 代理,使用关联的模块类来创建 url 和凭据,或类似上面的内容),代理服务器都不会获得这些凭据传递给它。

有什么我可能错过的吗?我试过在 Debug模式下从 VS2010 Web 应用程序运行它,该应用程序从具有默认应用程序池标识的 IIS 运行。和我们 QA 环境中的服务器一样,没有任何变化 - 它根本不使用代理,或者只是不发送凭据。

我也试过将 PreAuthenticate = trueUseDefaultCredentials 都设置为 true 和 k,但没有改变。

关于我遗漏的任何想法?

最佳答案

编辑:抱歉,一开始误解了您的问题 - 更正以下答案:

我会尝试创建一个新的 WebProxy 对象,设置其凭据,然后将其设置为请求的代理(而不是从请求中获取现有的代理对象并对其进行修改):

HttpWebRequest myWebRequest =
(HttpWebRequest) WebRequest.Create("http://www.microsoft.com");
IWebProxy proxy = new WebProxy(proxyAddress);
string proxyUsername = @"foo";
string proxyPassword = @"bar";
proxy.Credentials = new NetworkCredential(proxyUsername, proxyPassword);
myWebRequest.Proxy = proxy;

关于具有代理凭据的 C# HttpWebRequest 未将凭据传递给代理服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15503061/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com