使用c#读取HTML页面时出现异常

本文关键字:异常 读取 HTML 使用 | 更新日期: 2023-09-27 18:26:47

我正在使用以下代码读取HTML代码:

            string urlAddress = "http://google.com";
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(urlAddress);
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            if (response.StatusCode == HttpStatusCode.OK)
            {
                Stream receiveStream = response.GetResponseStream();
                StreamReader readStream = null;
                if (response.CharacterSet == null)
                    readStream = new StreamReader(receiveStream);
                else
                    readStream = new StreamReader(receiveStream, Encoding.GetEncoding(response.CharacterSet));
                string data = readStream.ReadToEnd();
                response.Close();
                readStream.Close();
            }

然而,我得到了例外:

The remote server returned an error: (407) Proxy Authentication Required

此外,我对app.config文件进行了更改:

 <system.net>
    <defaultProxy useDefaultCredentials="true" />
  </system.net>

但是仍然得到相同的错误。

然而,当我在IE中打开页面时,它会在不询问任何凭据的情况下打开。

使用c#读取HTML页面时出现异常

如果您想下载谷歌页面,请使用此代码

  using (WebClient web = new WebClient())
     {
          string d=   web.DownloadString("http://google.com");
     }

当我使用谷歌蜘蛛来获取一些搜索时,我实际上必须实现一个web浏览器控件,并使用它来呈现结果,看起来像"人类"。通过这种方式,所有请求都可以定时并呈现到一个页面上——尤其是AJAX之类的东西,您无法使用HttpWebRequest来呈现。这很不方便,但100%可以工作。