2013-03-18 45 views
0

加载我用下面的代码加载网页内容:网页无法System.Net.WebResponse

private string HttpGet(string uri) 
    { 
     WebRequest webRequest = WebRequest.Create(uri); 
     try 
     { 
      WebResponse webResponse = webRequest.GetResponse(); 
      StreamReader sr = new StreamReader(webResponse.GetResponseStream(), Encoding.GetEncoding("utf-8"), false); 
      return sr.ReadToEnd().Trim(); 
     } 
     catch (WebException ex) 
     { 
      MessageBox.Show(ex.Message, "HttpGet: Response error", 
       MessageBoxButtons.OK, MessageBoxIcon.Error); 
     } 
     return null; 
    } 

在大多数情况下,我真正得到HTML内容。它适用于http; // stackoverflow.com,但是如果您尝试加载http; // www.icetrade.by(我知道分号,只是不希望它们成为链接),它可以在Web中正常工作浏览器,即使没有启用javascript,你会得到这样的事情:

<br /> 
<b>Fatal error</b>: Class name must be a valid object or a string in <b>K:\hosting\icetrade.by\html\includes\module.class.php</b> on line <b>141</b><br /> 

什么是这种行为的原因,我怎样才能得到真正的HTML内容?

回答

1

这绝对是一个服务器端错误。当某些标题(如UserAgent或Cookies)不存在时,可能本网站无法处理这种情况。

如果这是您控制的网站,请检查module.class.php中的第141行发生了什么

+0

非常感谢!你是对的,需要UserAgent头。 – 2013-03-18 10:54:24