我目前正在关注与此类似的内容:
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 和凭据,或类似上面的东西)),代理服务器都不会将这些凭据传递给它.
有什么我可能错过的吗?我尝试在调试模式下从 VS2010 Web 应用程序运行此应用程序,该应用程序使用默认应用程序池标识从 IIS 运行。在我们的 QA 环境中的服务器上也是如此,没有任何变化——它要么根本不使用代理,要么只是不发送凭据。
我也尝试过将PreAuthenticate = true
两者都设置UseDefaultCredentials
为true
AND k,但没有任何变化。
关于我所缺少的任何想法?