コマンドtelnet docs.python.org 80
を使用http://docs.python.org/2/license.html
すると、実際のリクエストを入力することにより、に手動でHTTPリクエストを送信できます。
次に、ライブで入力する代わりに、テキストファイルからリクエストをフィードします。
私はこれを試しました:
cat request.txt|telnet docs.python.org 80
request.txt:
GET /2/license.html HTTP/1.1
Host: docs.python.org
(ファイルを空白行で終了する必要があります。そうしないと、不正な要求が発生します!)
しかし、サーバーへの接続はすぐに閉じられます。
どのように私は適切にパイプがなければならないrequest.txtにtelnet docs.python.org 80
?
編集:
知っておくと便利です。のHEAD
代わりにを使用するとGET
、GET
メッセージ本文を除いて、リクエストを行った場合と同じレスポンスが返されます。
したがって、HEAD
HTTPヘッダーだけを調べたい場合に使用します。(つまり、応答の内容がシェル出力を乱雑にしないようにするためです。)
telnet docs.python.org 80
ので、急いでこれらの2行を数秒以内に入力する必要があります(そうでない場合はコピーして貼り付けます)。そうしないと、サーバーがタイムアウトエラーを返します。
telnet docs.python.org 80
<ENTER>
GET /2/license.html HTTP/1.1
<ENTER>
Host: docs.python.org
<ENTER>
<ENTER>
<ENTER>
HTTPプロトコルはリクエストヘッダの後に余分な空白行を必要とするので、最後に二度目です。HTTP Wiki記事のリクエストメッセージセクションを参照してください
telnet < request.txt
が、私はGET
コマンドを機能させることができません。
GET
あなたが投稿したものを実行すると、408 Request Time-out
エラーが発生します。また、wget http://docs.python.org/2/license.html
オプションではありませんか?