HttpWebRequest.GetResponse()返回错误500内部服务器错误

时间:2011-06-29 06:37:42

标签: c# .net network-programming httpwebrequest

我正在使用HttpWebRequest向网址发出请求:

HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(urlAddress);
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();

但是它会抛出错误500(内部服务器错误)但是当我使用浏览器访问URLAddress时它工作正常,urlAddress = www.khademnews.com

这是一个简单的GET操作,但它为我抛出一个例外,我该如何解决这个问题?

1 个答案:

答案 0 :(得分:12)

您可能需要设置用户代理,因为某些网站可能需要它。您还可以使用WebClient来简化代码:

using (var client = new WebClient())
{
    client.Headers[HttpRequestHeader.UserAgent] = "Mozilla/5.0 (Windows NT 6.1; rv:5.0) Gecko/20100101 Firefox/5.0";
    string result = client.DownloadString("http://www.khademnews.com");
}

服务器也可能期望其他标头。你可以查看FireBug发送了哪些标题,然后在浏览器中执行请求并添加这些标题。