2013-02-06 79 views
-1

这里是我的代码我在哪里使用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(); 
+0

尝试调试服务。该服务抛出异常,客户端代码可能没问题。 –

+0

@Emo:谢谢你,先生,但哪个服务,你可以给任何例子......或如何调试服务? –

回答

0

如果客户端不支持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); 
     } 
    } 
} 
+0

非常感谢...非常...它工作.... :-) –

0

“内部服务器错误”的意思就是说,您正在调用的服务器上发生内部错误。

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

  • 77%20So.3d%201094是否有效的搜索值?
  • 您是否应该随请求一起发送API密钥?
  • 你应该认证自己,例如使用HTTP用户名/密码摘要或X509证书?
+0

其实,先生,这个链接正常工作,当我手动浏览它在Mozilla FireFox .....什么是API密钥? –