La forma más directa de obtener una respuesta HTTPS sin procesar y sin analizar


39

¿Cuál sería la forma más directa de hacer una solicitud GET a una url a través de HTTPS y obtener la respuesta sin analizar y sin analizar?

¿Se podría lograr esto con el rizo? Si es así, ¿qué opciones necesitaría usar?

Respuestas:


51

Si desea usar curl, esto debería funcionar:

curl -D - https://www.google.com/

Tenga en cuenta, sin embargo, que esta no es exactamente la respuesta en bruto. Por ejemplo, la codificación de transferencia fragmentada no será visible en la respuesta. Usando --rawresuelve esto, también el modo detallado ( -v) también es útil y -imuestra los encabezados antes del cuerpo de respuesta:

curl -iv --raw https://www.google.com/

Si desea utilizar un localizador como menos en el resultado, también es necesario deshabilitar la barra de progreso ( -s):

curl -ivs --raw https://www.google.com/ | less

Dependiendo de lo que quiera hacer, esto puede o no ser un problema.

Lo que obtienes son todos los encabezados de respuesta HTTP y el documento en la URL solicitada.


13

Aquí hay una manera simple que viene a la mente

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

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

en cuenta que algunos servidores (por ejemplo github.com) sólo funcionan conHTTP/1.0
Steven Penny

4

No lo es curl, pero debería estar disponible en casi todos los Unices:

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

Si los mensajes de estado te molestan:

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

Si desea terminaciones de línea CRLF:

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

¿Sabes si esto preservaría los \r\ncaracteres en la respuesta?
Bellota

@Acorn: en primer lugar, no todos los servidores web responderán con \r\nun final de línea. No creo que esto lo conserve en ningún caso, pero si eso te importa, agregaré una forma de obtener ese resultado en la respuesta.
Chris Down

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

En Debian / Ubuntu, las distribuciones pertenecen al paquete lwp-request.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.