Con el comando telnet docs.python.org 80
, puedo hacer una solicitud HTTP manual para http://docs.python.org/2/license.html
, escribiendo la solicitud real.
Ahora, en lugar de escribirlo en vivo, me gustaría alimentar la solicitud desde un archivo de texto.
Intenté esto:
cat request.txt|telnet docs.python.org 80
request.txt :
GET /2/license.html HTTP/1.1
Host: docs.python.org
(¡Tiene que terminar el archivo con una línea en blanco o recibirá una solicitud incorrecta!)
Pero la conexión al servidor se cierra de inmediato.
¿Cómo debo adecuadamente tubería Request.txt a telnet docs.python.org 80
?
editar:
Es bueno saberlo; si usa en HEAD
lugar de GET
, obtendrá la misma respuesta que si hiciera una GET
solicitud, excepto el cuerpo del mensaje.
Por lo tanto, úselo HEAD
si solo desea examinar los encabezados HTTP. (es decir, para que el contenido de la respuesta no desordene la salida de su shell).
telnet docs.python.org 80
, por lo que tendrá que darse prisa y escribir esas dos líneas (copiar y pegar si es necesario) en unos segundos o el servidor devolverá un error de tiempo de espera.
telnet docs.python.org 80
<ENTER>
GET /2/license.html HTTP/1.1
<ENTER>
Host: docs.python.org
<ENTER>
<ENTER>
<ENTER>
una segunda vez al final es porque el protocolo HTTP requiere una línea vacía adicional después de los encabezados de solicitud. Consulte la sección de mensaje de solicitud del artículo wiki de HTTP
telnet < request.txt
pero no puedo hacer que el GET
comando funcione.
GET
que ha publicado, recibo un408 Request Time-out
error. Además, ¿wget http://docs.python.org/2/license.html
no es una opción?