在尝试从URL下载文件时,我无法让WebRequest通过身份验证。我已经验证过,直接点击网址并使用用户名/密码表单提示,我的凭据就完好无损了,文件会下载到我的电脑上。
但是,当使用WebRequest(带代理)时,我的(401)身份验证失败。
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Credentials = new NetworkCredential(username, password);
request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.121 Safari/535.2";
WebProxy proxy = new WebProxy("myProxyAddress:myProxyPort");
proxy.UseDefaultCredentials = false;
proxy.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;
request.Proxy = proxy;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
它肯定是通过代理身份验证,因为我之前获得了407。我尝试了无数的设置,例如将PreAuthenticate设置为true,UseDefaultCredentials设置为false等,但无济于事。
这里有什么我想念的吗?是否可以归结为第三方网址要求的身份验证类型?