HttpWebResponse возвращает только один элемент страницы

0

Привет, я делаю простой httpwebrequest, а затем я читаю (StreamReader) ответ и просто хочу получить html-страницу сайта, но я получаю только один laber (только один элемент страницы) в браузере все отлично (я вижу всю страницу), но когда я пытаюсь установить файлы cookie для Deny\disable, я также в браузере получаю этот ярлык (только один элемент страницы), и все исчезает. Конечно, я получаю мнение, если после того, как я отключил файлы cookie в браузере, я получаю одну и ту же страницу ( как в коде), что означает, что у моего HttpWebRequest есть настройки cookie = deny/disable.

Вы можете перейти на https://www.bbvanetcash.com/local_kyop/KYOPSolicitarCredenciales.html и отключить файлы cookie с F12, и вы увидите его, а также эту страницу с одним ярлыком.

Сеять этот мой код какие-то идеи, что мне нужно изменить здесь?

HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create("https://www.bbvanetcash.com/local_kyop/KYOPSolicitarCredenciales.html");

HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
Stream streamResponseLogin = myHttpWebResponse.GetResponseStream();
StreamReader streamReadLogin = new StreamReader(streamResponseLogin);
LoginInfo = streamReadLogin.ReadToEnd();
Теги:
httpwebrequest
httpwebresponse

1 ответ

1
Лучший ответ

Ваш код получает полное содержимое страницы, но не может получить динамическое содержимое. Это происходит потому, что страница, к которой вы пытаетесь получить доступ, использует Cookies для поддержания сеанса, а также JavaScript (используется jQuery) для загрузки динамического содержимого и обеспечения богатого пользовательского интерфейса.

Чтобы успешно получить всю страницу, ваш код должен

  • поддержка получения, хранения и отправки объектов cookie через различные HttpRequest и HttpResponse.
  • иметь возможность выполнять JavaScript-код для загрузки динамического содержимого/разметки страницы

Чтобы проверить "если ваш код получает правильные значения или нет", зайдите на сайт Web Sniffer и поместите туда свой URL.

Как вы можете попробовать на сайте веб-сниффер, на www.google.com, ответ, который вы получаете, является инструкцией перенаправления.... это означает, что даже для доступа к домашней странице Google ваш код должен понимать сообщения о статусе HTTP (302 там).

  • 0
    У вас есть пример такого кода?
  • 0
    @ VovaPotapov: Написание этих функций сделает основной браузер. У меня нет такого кода со мной. Каждая функция очень обширна, например, обрабатывает все сообщения о статусе HTTP, каждое из которых имеет различные атрибуты. интерпретировать и выполнять коды JavaScript; поддержание и хранение файлов cookie, обработка GET и POST, рендеринг контента в пользовательском интерфейсе, обработка CSS и т. д. и т. д. и т. д. ......
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню