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-адресов результатов поиска.

Спасибо

0 ответов

Другие вопросы по тегам