我试图了解通过
获取谷歌页面源代码的不同之处通过WebBrowser.DocumentText使用HttpWebRequest
public String WebRequestNavigate(string url)
{
StringBuilder sb = new StringBuilder();
byte[] buf = new byte[8192];
if (url != "")
{
HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create(url);
myReq.KeepAlive = false;
try
{
HttpWebResponse resp = (HttpWebResponse)myReq.GetResponse();
Stream stream = resp.GetResponseStream();
String test = "";
int count = 0;
do
{
count = stream.Read(buf, 0, buf.Length);
if (count != 0)
{
test = Encoding.UTF8.GetString(buf, 0, count);
sb.Append(test);
}
}
while (count > 0);
stream.Close();
}
catch (IOException ex)
{
System.Threading.Thread.Sleep(500);
myReq = (HttpWebRequest)WebRequest.Create(url);
myReq.KeepAlive = false;
}
}
return sb.ToString();
我正在使用的webBrowser函数是:
public String WebNavigateBrowser(String urlString, WebBrowser wb)
{
string data = "";
wb.Navigate(urlString);
while (wb.ReadyState != WebBrowserReadyState.Complete)
{
Application.DoEvents();
}
data = wb.DocumentText;
return data;
}
我需要获取google网页的源代码。但是,与我从第二个函数获得的源代码相比,HttpWebRequest的第一个函数给了我奇怪的源代码结果:
我做错了什么? 我该如何解决这个问题?
使用HttpWebRequest是一种快速而灵活的方式来做这件事。
欢迎任何类型的建议在浏览谷歌搜索结果和阅读源代码,以便检索搜索结果的网址。
由于