0

我正在使用下面的代码来阅读 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 中打开和页面时,它会在不询问任何凭据的情况下打开。

4

2 回答 2

0

当我使用 Google 蜘蛛进行一些搜索时,我实际上必须实现一个 Web 浏览器控件并使用它来呈现结果并看起来像“人类”。这样,所有请求都可以定时并呈现到页面——尤其是您无法使用HttpWebRequest. 这很不方便,但 100% 工作。

于 2014-10-17T04:47:52.140 回答
0

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

  using (WebClient web = new WebClient())
     {
          string d=   web.DownloadString("http://google.com");
     }
于 2014-10-17T04:41:07.447 回答