2

Есть ли способ как-то автоматически сбросить источник веб-страницы, не взаимодействуя с самим браузером; без щелчка правой кнопкой мыши на странице и выбора «просмотра источника». Так, например, у меня открыт Internet Explorer и отображается определенный контент. Я хочу получить исходный HTML-код этой страницы в файле, который я мог бы прочитать. Может быть, есть возможность сохранить источник текущей страницы где-нибудь на диске?

Несколько баллов:

  1. Веб-страница, которую я запускаю, является локальной веб-службой, которая открыта в режиме киоска (без меню или поля адреса).
  2. Поскольку этот сервис требует аутентификации, я не могу просто открыть и получить доступ к странице напрямую. Существует определенная процедура, которую я беру на себя, чтобы попасть на эту страницу.
  3. Я хочу получить источник текущей текущей страницы, так как я постоянно изменяю ее и (заполняю значения, выбираю значения в выпадающем списке и т.д.). Я хочу, чтобы эти изменения были отражены в источнике, если я запусту ту же страницу в новом окне, у меня не будет отредактированных полей.

Такие решения, как Selenium, мне не помогут, потому что я не хочу запускать браузер через него.

3 ответа3

1

Я понимаю, что вы работаете в Windows, но в мире Linux/Mac OS X можно использовать curl или wget если вы знаете целевой URL страницы и хотите сохранить ее в файл. Я вижу, что здесь доступна версия curl для Windows, а также другие версии на официальном сайте curl так что, может быть, это сработает для вас, если вы хорошо владеете командной строкой?

Например, используя curl вы можете сохранить содержимое главной страницы индекса Google, например, из командной строки:

curl -L google.com > google_index.html

Команда curl очевидна, а команда -L указывает curl просто разрешить любые перенаправления, с которыми можно столкнуться при доступе к URL. google.com - это целевой URL, а > указывает команде перенаправить вывод curl -L google.com в файл с именем google_index.html .

После выполнения этой команды содержимое google_index.html будет на 100% таким же, как если бы вы просматривали исходный код в веб-браузере.

Но имейте это в виду: вся команда curl подобная той, которая будет делать, - это выборка необработанного содержимого, возвращаемого URL. Это не даст вам никакой графики, CSS, JavaScript или любого другого вспомогательного контента, который будет связан с этим HTML.

Для более сложной и сложной выборки полного содержимого сайта, wget - это то, что нужно. Похоже, здесь есть версия wget для Windows, но вы не знаете, насколько она устарела по сравнению с базовой версией GNU для wget . Так что попробуйте на свой страх и риск.

0

Я полагаю, вы пытаетесь взломать киоск, LOL?

Шутка в сторону, вам нужно установить Fiddler на клиентский компьютер. Если использовать HTTPS еще сложнее, нужно доверять сертификатам Fiddler. Вы можете столкнуться с ненадежным сертификатом при использовании Fiddler, он будет перехватывать соединения и прослушивать весь трафик htpp, декодировать и передавать обратно в браузер. На самом деле, в значительной степени прокси, он используется для веб-разработки / отладки.

Этот вопрос не должен быть в Super User, его веб-разработки связаны.

0

Начиная с Powershell 3.0, вы можете использовать Invoke-WebRequest

Invoke-WebRequest

Получает контент с веб-страницы в Интернете.

Подробное описание

Командлет Invoke-WebRequest отправляет запросы HTTP, HTTPS, FTP и FILE на веб-страницу или веб-службу. Он анализирует ответ и возвращает коллекции форм, ссылок, изображений и других значимых элементов HTML.

Этот командлет был представлен в Windows PowerShell 3.0.

PowerShell псевдоним для Invoke-WebRequest является actuall wget

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .