telnetコマンドを利用してhttpサーバのレスポンスを手軽に見る方法
httpサーバのレスポンスを見る方法はツールを使ったりとかFirefoxなどではアドオンを使ったりと色々方法は有りますが、昔2ちゃんねるかどこかで見かけてメモっておいた方法をここにメモしておきます。
telnetコマンドを使う方法です。telnetコマンドなのでWindowsのコマンドプロンプトやUnix系のOSの端末上で普通に入力するだけで利用することができます。
下のようになります。
telnet www.yahoo.co.jp http
HEAD / HTTP/1.1
Host:example.com
Connection:close
具体的には1行目がサーバに接続するためのtelnetコマンドです。1行目でtelnetコマンドを実行するとそのまま入力待ちになるのでその下の各行を1行づつ入力します。コピペすると楽です。最後にエンターを2回入力するとサーバーからレスポンスが帰ってきます。(実際にはCRLF)
入力フォーマットとキー入力具体的に書くと下のような感じです。
telnet <ホスト名> <ポート><エンター>
HEAD <パス> HTTP/1.1<エンター>
Host:example.com<エンター>
Connection:close<エンター>
<エンター>
<エンター>
※ポートはhttpとかいても80と書いてもOKです。
下は実際にLinux上からwww.yahoo.co.jpとwww.google.comのレスポンスを見てみたところ
[admin@www ~]$ telnet www.yahoo.co.jp http
Trying 124.83.139.191…
Connected to www.yahoo.co.jp (124.83.139.191).
Escape character is ‘^]’.
HEAD /index.html HTTP/1.1
Host:example.com
Connection:close
HTTP/1.1 200 OK
Date: Sat, 21 Aug 2010 00:15:40 GMT
P3P: policyref="http://privacy.yahoo.co.jp/w3c/p3p.xml", CP="CAO DSP COR CUR ADM DEV TAI PSA PSD IVAi IVDi CONi TELo OTPi OUR DELi SAMi OTRi UNRi PUBi IND PHY ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE GOV"
Cache-Control: no-cache
Cache-Control: no-store, must-revalidate
Expires: -1
Pragma: no-cache
X-XRDS-Location: http://open.login.yahoo.co.jp/openid20/www.yahoo.co.jp/xrds
Cache-Control: private
Connection: close
Content-Type: text/html; charset=utf-8
Connection closed by foreign host.
[admin@www ~]$ telnet www.google.com http
Trying 66.249.89.99…
Connected to www.google.com (66.249.89.99).
Escape character is ‘^]’.
HEAD /index.html HTTP/1.1
Host:example.com
Connection:close
HTTP/1.1 302 Found
Location: http://www.google.com/
Cache-Control: private
Content-Type: text/html; charset=UTF-8
X-Content-Type-Options: nosniff
Date: Sat, 21 Aug 2010 00:16:28 GMT
Server: sffe
Content-Length: 219
X-XSS-Protection: 1; mode=block
Connection: close
Connection closed by foreign host.
[admin@www ~]$
HEADをGETにすればGETリクエストとなり実際にページのデータを取得することができますが、文字コードがあってないと文字化けするので注意が必要です。