2

尝试加载“http://links.casemakerlegal.com/states/CA/books/Case_Law/results?search[Cite]=214 Cal.App.3d 533”的 HTML 内容,但 HttpWebResponse 对象出现此错误“(500)内部服务器错误”并且代码是----- request = WebRequest.Create(urlCheck); 请求.超时 = 100000; 响应 = request.GetResponse(); strmRead = new StreamReader(response.GetResponseStream(),System.Text.Encoding.UTF8); 结果 = strmRead.ReadToEnd();

4

2 回答 2

2

您需要使用 Wireshark 或 Ethereal 之类的工具,或浏览器中的开发人员工具来进一步调查。浏览器很可能在 HTTP 标头中发送了一些您的代码没有发送的值,并且由于这些缺失值,服务器返回 500。尝试复制浏览器在代码中使用的所有标头,看看这是否能解决问题。

于 2013-02-02T16:27:33.827 回答
0

它通常是浏览器代理。尝试将有效的浏览器代理与 Accept 和 Accept-Encoding 标头一起添加到您的请求标头中,

*编辑:例如:

request.UserAgent = "Mozilla/5.0 (Windows NT 5.2; WOW64; rv:2.0.1) Gecko/20100101 Firefox/4.0.1";
request.Headers.Add("Accept-Encoding: gzip, deflate");
request.Headers.Add("Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
request.Headers.Add("Accept-Language: en;q=0.8");
于 2013-02-02T16:30:54.660 回答