C# Исходный код результатов поиска Google в WebRequest vs. WebBrowser.DocumentText
Я пытаюсь понять разницу в получении исходного кода страницы Google через
используя HttpWebRequest через WebBrowser.DocumentText
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 дает мне странные результаты исходного кода по сравнению с исходным кодом, который я получаю от второй функции, такой как:
- Измененные символы, такие как знаки% и т. Д.
- Странные дополнения к URL-адресам страниц в исходном коде
Что я делаю неправильно? Как я могу решить эту проблему?
использование HttpWebRequest - быстрый и удобный способ сделать это.
Любой тип ваших предложений приветствуется при просмотре результатов Google и чтении исходных кодов с целью получения URL-адресов результатов поиска.
Спасибо