0

我使用下面的代码来加载网页内容:

    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(我知道分号,只是不希望它们成为链接),这在网络中正常工作即使没有启用 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 内容?

4

1 回答 1

1

这绝对是服务器端错误。当某些标头(例如 UserAgent 或 Cookie)不存在时,此站点可能无法处理这种情况。

如果这是您控制的站点,请检查 module.class.php 中第 141 行发生的情况

于 2013-03-18T10:23:58.217 回答