获取内部服务器错误

时间:2013-02-06 07:58:50

标签: c# .net httpwebrequest httpwebresponse

这是我的代码,我正在使用HttpWebRequest请求一个URL并从HttpWebResponse获取响应。但httpwebresponse对象抛出一个异常,即内部服务器错误!

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();

2 个答案:

答案 0 :(得分: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);
        }
    }
}

答案 1 :(得分:0)

"内部服务器错误"确切地说,就是您正在呼叫的服务器上的内部错误。

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

  • 77%20So.3d%201094是否为有效的搜索值?
  • 您是否应该发送API密钥以及请求?
  • 您是否应该对自己进行身份验证,例如使用HTTP用户名/密码摘要,还是X509证书?