我使用下一个代码加载网页内容:
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内容?
答案 0 :(得分:1)
这绝对是服务器端错误。当某些标题(例如UserAgent或Cookies不存在)时,该网站可能无法处理这种情况。
如果这是您控制的网站,请检查module.class.php第141行的内容