【发布时间】:2012-03-07 14:16:17
【问题描述】:
我正在使用需要身份验证的代理,即在浏览器中,如果我尝试打开一个页面,它会立即要求提供凭据。我在我的程序中提供了相同的凭据,但它失败并出现 HTTP 407 错误。
这是我的代码:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL);
IWebProxy proxy = WebRequest.GetSystemWebProxy();
CredentialCache cc = new CredentialCache();
NetworkCredential nc = new NetworkCredential();
nc.UserName = "userName";
nc.Password = "password";
nc.Domain = "mydomain";
cc.Add("http://20.154.23.100", 8888, "Basic", nc);
proxy.Credentials = cc;
//proxy.Credentials = System.Net.CredentialCache.DefaultCredentials;
request.Proxy = proxy;
request.Proxy.Credentials = cc;
request.Credentials = cc;
request.PreAuthenticate = true;
我已经尝试了所有可能的事情,但似乎我错过了一些东西。 是不是像,我必须提出两个请求?首先没有凭据,一旦我从服务器收到关于需要凭据的回复,是否使用凭据发出相同的请求?
【问题讨论】:
-
您的代理服务器需要什么身份验证方案?基本的? NTLM?
-
basic,这就是为什么我在 creds 缓存中使用 Basic...
标签: c# proxy httpwebrequest basic-authentication http-status-code-407