我有这个代码,尝试从这个通过HTTP身份验证保护的网站获取数据,它只是暂停DownloadString函数上的程序。如果有人知道我做错了什么,我会很感激帮助
string url = "http://example.com/passwordprotected";
using (WebClient client = new WebClient())
{
client.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");
Console.Write("starting");
client.Credentials = new NetworkCredential("admin", "pass");
Console.WriteLine("before");
string htmlCode = client.DownloadString(url);
Console.WriteLine("after");
//Debug.Write(htmlCode);
System.Diagnostics.Trace.Write(htmlCode);
Console.Write("done");
}
我知道网址是正确的,因为我可以亲自访问它。
答案 0 :(得分:1)
添加以下行:
client.UseDefaultCredentials=false;
否则它实际上不会使用指定的凭据。 MSN describes how to use this property正确。