Каков был бы самый простой способ сделать GET-запрос к URL через HTTPS и получить необработанный, необработанный ответ?
Может ли это быть достигнуто с помощью curl? Если да, какие варианты вам нужно использовать?
Если вы хотите использовать curl
, это должно работать:
curl -D - https://www.google.com/
Обратите внимание, однако, что это не совсем необработанный ответ. Например, кодированная передача в коде не будет видна в ответе. Использование --raw
решает эту проблему, также -v
полезен verbose mode ( ), который -i
показывает заголовки перед телом ответа:
curl -iv --raw https://www.google.com/
Если вы хотите использовать пейджер как поменьше для результата, также необходимо отключить индикатор выполнения ( -s
):
curl -ivs --raw https://www.google.com/ | less
В зависимости от того, что вы хотите сделать, это может или не может быть проблемой.
То, что вы получаете, это все заголовки HTTP-ответа и документ по запрошенному URL.
Вот простой способ, который приходит на ум
echo 'GET / HTTP/1.1
Host: google.com
' | openssl s_client -quiet -connect google.com:443 2>/dev/null
HTTP/1.0
Это не так
curl
, но оно должно быть доступно практически на всех Unices:Если сообщения о состоянии вас беспокоят:
Если вы хотите окончания строки CRLF:
источник
\r\n
символы в ответе?\r\n
как конец строки. Я не верю, что это сохранит это в любом случае, но если это имеет значение для вас, я добавлю способ получить этот результат в ответе.На дистрибутивах Debian / Ubuntu этот пакет принадлежит
lwp-request
.источник