2011-05-03 90 views
0

问题与Web客户端DownloadString:问题与Web客户端DownloadString

我的代码〜

WebClient Wc = new WebClient(); 
string myUrl = "http://www.google.com"; 
string myStr = string.Empty; 
myStr = Wc.DownloadString(myUrl); 
Console.Write(myStr); 

错误: 远程服务器返回错误:(401)未经授权。

注:

上网是否正常工作,然后什么都可以用这个问题?

+0

即使这似乎不起作用: NetworkCredential Nc = new NetworkCredential(“username”,“password”,“domain”); Wc.Credentials = Nc; – Pratik 2011-05-03 14:27:42

回答

1

我怀疑你可能需要指定一些代理设置。使用Wireshark来查看测试应用程序和浏览器中发生的情况之间的区别。我期望这两个都是代理,但浏览器请求具有代理身份验证,而WebClient则不具有代理身份验证。

+0

@Jon Skeet:您能否告诉我在上面的代码中指定“代理设置”需要进行更改。我不知道WebClient类中的代理使用情况。 – Pratik 2011-05-03 14:03:20

+0

@Pratik:首先确认是这种情况。然后根据需要使用WebClient.Proxy属性。 – 2011-05-03 14:05:23

+0

@Jon:这也不起作用 // WebProxy proxyObject = new WebProxy(“http://wireshark.org”,true); //proxyObject.Credentials = CredentialCache.DefaultCredentials; //Wc.Proxy = proxyObject; – Pratik 2011-05-03 14:22:44