我正在使用HttpWebRequest向网址发出请求:
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(urlAddress);
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
但是它会抛出错误500(内部服务器错误)但是当我使用浏览器访问URLAddress时它工作正常,urlAddress = www.khademnews.com
这是一个简单的GET操作,但它为我抛出一个例外,我该如何解决这个问题?
答案 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发送了哪些标题,然后在浏览器中执行请求并添加这些标题。