C# 连接到http认证网站

C# 连接到http认证网站,c#,webclient,C#,Webclient,我有这段代码,试图从一个有HTTP认证保护的网站上获取数据,它只是停止了DownloadString函数上的程序。如果有人知道我做错了什么,我会很感激你的帮助 string url = "http://example.com/passwordprotected"; using (WebClient client = new WebClient()) { client.Headers.Add("user-agent", "Mozilla/4.0 (compatible; M

我有这段代码,试图从一个有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");
    }
我知道url是正确的,因为我可以亲自访问它

添加这一行:

client.UseDefaultCredentials=false;

否则它实际上不会使用指定的凭据。正确。

是否尝试设置
client.UseDefaultCredentials=false?它“停止程序”?你能说得更具体些吗?您是否遇到运行时错误
DownloadString()
在执行完成之前等待下载完成,所以也许这就是您看到的?mason,您的解决方案立即修复了问题!我刚刚添加了它,它的工作!感谢you@mason应该加上这一点作为答案,并给出一些解释,以便OP可以接受;)@用户3413723如果您使用“@mason”ping我,它将通知我您已回复。否则我就得不到通知。幸运的是卢克打了我一下。