连接到http认证的网站

时间:2014-09-17 20:20:37

标签: c# webclient

我有这个代码,尝试从这个通过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");
    }

我知道网址是正确的,因为我可以亲自访问它。

1 个答案:

答案 0 :(得分:1)

添加以下行:

client.UseDefaultCredentials=false;

否则它实际上不会使用指定的凭据。 MSN describes how to use this property正确。