Открыть сайт, не открывая его в браузере с терминала

14

Можно ли открыть сайт с терминала без фактического открытия новой вкладки?

Например: open https://www.google.co.uk/откроет новую вкладку в приложении по умолчанию и перейдет на этот сайт.

Я просто хочу команду, которая имитирует этот вызов на сайт, но не открывает вкладку или что-либо показать.

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

Rekovni
источник
В чем причина желания «вызвать команду» - вы хотите, чтобы веб-сервер предпринял какие-то действия для вас?
Хрилис - на забастовке -
@ chrylis это правильно. Веб-сайт не предоставляет API для того, чего я хочу достичь, но есть кнопка, которую пользователь может нажать, чтобы это сделать, и вы можете увидеть URL, который будет делать нажатие кнопки.
Рековни
1
Возможно, вас заинтересует хром без головы: developers.google.com/web/updates/2017/04/headless-chrome . chrome --headless --disable-gpu https://www.google.comэто работает также JavaScript (пока curlнет).
Бакуриу

Ответы:

25

Ты можешь использовать curl

curl https://www.google.co.uk/

и если вы не хотите вывод

curl --silent https://www.google.co.uk/ > /dev/null
Matteo
источник
17
Это предполагает, что вы только хотите выполнить запрос, но не заботитесь о 1) JS на странице 2) изображениях на странице 3) вторичных запросах на странице и т. Д. В противном случае вам потребуется использовать браузер без монитора.
Дэвид Малдер
@DavidMulder Или используйте CLI-дружественный REST API, если он доступен.
Хрилис - на забастовку -
4

Curl и Wget могут использоваться для вызова веб-сайта, но если вы хотите имитировать какую-то функцию на веб-сайте, то они не будут точно имитировать пользователя, выполняющего запрос в браузере.

В браузерах есть движки, которые обрабатывают css, javascript и html, поэтому вы должны их использовать.

Если вы хотите использовать веб-сайт так, как если бы пользователь использовал сайт через браузер, не открывая браузер, вам следует изучить некоторые фреймворки безголового тестирования, такие как PhantomJS, в противном случае в браузерной стэк-платформе для тестирования браузера есть API, к которому вы можете получить доступ, это все равно будет откройте вкладку браузера, но в облаке VM где-то, так что нет на вашей реальной машине.

user618509
источник