使用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中打开页面时,它会在不询问任何凭据的情况下打开。
如果您想下载谷歌页面,请使用此代码
using (WebClient web = new WebClient())
{
string d= web.DownloadString("http://google.com");
}
当我使用谷歌蜘蛛来获取一些搜索时,我实际上必须实现一个web浏览器控件,并使用它来呈现结果,看起来像"人类"。通过这种方式,所有请求都可以定时并呈现到一个页面上——尤其是AJAX之类的东西,您无法使用HttpWebRequest
来呈现。这很不方便,但100%可以工作。