-1

这是我的代码,我在其中使用 HttpWebRequest 请求 URL 并从 HttpWebResponse 获取响应。但是 httpwebresponse 对象会抛出一个异常,即 Internal Server Error!

url="http://www.google.com/"

Uri urlCheck = new Uri(url);
request = (HttpWebRequest)WebRequest.Create(url); 
request.Timeout = 5000000;
response = (HttpWebResponse)request.GetResponse();    //Here Getting The Exception..
receiveStream = response.GetResponseStream();
Encoding encode = System.Text.Encoding.GetEncoding("utf-8");
strmRead = new StreamReader(receiveStream, encode);
result = strmRead.ReadToEnd();
4

2 回答 2

1

如果客户端不支持 cookie,则该站点似乎正在崩溃。因此,您可以通过设置 CookieContainer 在客户端启用对 cookie 的支持:

using System;
using System.IO;
using System.Net;

class Program
{
    static void Main()
    {
        var url = "http://links.casemakerlegal.com/states/MS/books/Case_Law/results?search[Cite]=77%20So.3d%201094";
        var request = (HttpWebRequest)WebRequest.Create(url);
        request.CookieContainer = new CookieContainer();
        using (var response = request.GetResponse())
        using (var stream = response.GetResponseStream())
        using (var reader = new StreamReader(stream))
        {
            string result = reader.ReadToEnd();
            Console.WriteLine(result);
        }
    }
}
于 2013-02-06T08:06:55.253 回答
0

“内部服务器错误”正是指您正在调用的服务器上的内部错误。

这可能是服务器上的一个临时问题,与您无关,或者可能是服务器不喜欢您传递给它的数据。检查以下内容:

  • 77%20So.3d%201094有效的搜索值吗?
  • 您是否应该与请求一起发送 API 密钥?
  • 您是否应该对自己进行身份验证,例如使用 HTTP 用户名/密码摘要或 X509 证书?
于 2013-02-06T08:05:49.763 回答