C#Web应用程序无法下载XML文档

时间:2015-03-26 13:58:57

标签: c# xml download webclient

如果我在C#控制台应用程序中使用以下代码(使用Visual Studio),它将完全正常工作。

string xmlURL = "http://w1.weather.gov/xml/current_obs/index.xml";
string xml;
using (var client = new System.Net.WebClient())
{
    //client.Headers[System.Net.HttpRequestHeader.Accept] = "text/html, image/png, image/jpeg, image/gif, */*;q=0.1";
    //client.Headers[System.Net.HttpRequestHeader.UserAgent] = "Mozilla/5.0 (Windows; U; Windows NT 6.1; de; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12";
    xml = client.DownloadString(xmlURL);
}
Console.WriteLine(xml);

如果我尝试在Web应用程序中使用完全相同的代码,它始终会失败,并且#34;无法连接到服务器"错误。我已尝试过,没有.Accept和.UserAgent标头。我尝试过使用多个不同的网站和XML下载。

有人建议IE本身可能阻止访问,但如果我直接将URL复制到IE中,它会显示XML而不会出现提示或问题。我不确定它是否相关,因为IE不是由控制台应用程序使用的。

我还可以查看/尝试什么?

1 个答案:

答案 0 :(得分:0)

我明白了!由于我们在代理之后,我需要添加以下内容:

System.Net.WebProxy wp = new System.Net.WebProxy("proxyserver:80");
client.Proxy = wp;

感谢Patrik,感谢您对协助的兴趣。