Com o comando telnet docs.python.org 80
, eu posso fazer uma solicitação HTTP manual para http://docs.python.org/2/license.html
, digitando a solicitação real.
Agora, em vez de digitá-lo ao vivo, gostaria de alimentar a solicitação de um arquivo de texto.
Eu tentei isso:
cat request.txt|telnet docs.python.org 80
request.txt :
GET /2/license.html HTTP/1.1
Host: docs.python.org
(Você precisa finalizar o arquivo com uma linha em branco ou poderá receber uma solicitação incorreta!)
Mas a conexão com o servidor é fechada imediatamente.
Como devo adequadamente tubulação request.txt para telnet docs.python.org 80
?
editar:
É bom saber; se você usar em HEAD
vez de GET
, receberá a mesma resposta como se tivesse feito uma GET
solicitação, exceto o corpo da mensagem.
Portanto, use HEAD
se você quiser apenas examinar os cabeçalhos HTTP. (ou seja, para que o conteúdo da resposta não atrapalhe a saída do shell.)
telnet docs.python.org 80
, então você precisa se apressar e digitar essas duas linhas (copiar e colar se necessário) dentro de alguns segundos ou o servidor retornará um erro de tempo limite.
telnet docs.python.org 80
<ENTER>
GET /2/license.html HTTP/1.1
<ENTER>
Host: docs.python.org
<ENTER>
<ENTER>
<ENTER>
uma segunda vez no final é porque o protocolo HTTP requer uma linha vazia extra após os cabeçalhos da solicitação. Veja a seção de mensagem de solicitação do artigo da wiki HTTP
telnet < request.txt
mas não consigo que o GET
comando funcione.
GET
você postou, recebo um408 Request Time-out
erro. Além disso,wget http://docs.python.org/2/license.html
não é uma opção?