Самый простой способ получения необработанного HTTPS-ответа


39

Каков был бы самый простой способ сделать GET-запрос к URL через HTTPS и получить необработанный, необработанный ответ?

Может ли это быть достигнуто с помощью curl? Если да, какие варианты вам нужно использовать?

Ответы:


51

Если вы хотите использовать 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.


13

Вот простой способ, который приходит на ум

echo 'GET / HTTP/1.1
Host: google.com

' | openssl s_client -quiet -connect google.com:443 2>/dev/null

обратите внимание , что некоторые серверы (например , github.com) работают только сHTTP/1.0
Стивен Пенни

4

Это не так curl, но оно должно быть доступно практически на всех Unices:

wget -S --spider https://encrypted.site

Если сообщения о состоянии вас беспокоят:

wget -S --spider https://encrypted.site 2>&1 | awk '/^  /'

Если вы хотите окончания строки CRLF:

wget -S --spider https://encrypted.site 2>&1 | awk '/^  / { sub(/$/,"\r"); print }'

Вы знаете, сохранит ли это \r\nсимволы в ответе?
Желудь

@Acorn - Прежде всего, не все веб-серверы будут отображаться \r\nкак конец строки. Я не верю, что это сохранит это в любом случае, но если это имеет значение для вас, я добавлю способ получить этот результат в ответе.
Крис Даун

1
$ GET -e https://www.google.com

На дистрибутивах Debian / Ubuntu этот пакет принадлежит lwp-request.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.