urlopen で HTTP Header などのデバッグ出力を表示する

HTTP Header が見えるブラウザ拡張入れればいいじゃない、という話は置いておいて。

>>> import urllib2
>>>
>>> handler = urllib2.HTTPHandler()
>>> handler.set_http_debuglevel(1)     ## ここで debuglevel を設定。1,2,3 を試したけど結果は同じでした
>>>
>>> opener = urllib2.build_opener(handler)
>>> opener.open("http://www.yahoo.co.jp")
send: 'GET / HTTP/1.1\r\nAccept-Encoding: identity\r\nHost: www.yahoo.co.jp\r\nConnection: close\r\nUser-Agent: Python-urllib/2.7\r\n\r\n'
reply: 'HTTP/1.1 200 OK\r\n'
header: Date: Thu, 23 Feb 2012 16:42:16 GMT
header: 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"
header: Expires: -1
header: Pragma: no-cache
header: Cache-Control: private, no-cache, no-store, must-revalidate
header: X-XRDS-Location: http://open.login.yahoo.co.jp/openid20/www.yahoo.co.jp/xrds
header: Vary: Accept-Encoding
header: Connection: close
header: Transfer-Encoding: chunked
header: Content-Type: text/html; charset=utf-8
<addinfourl at 4302627328 whose fp = <socket._fileobject object at 0x100489f50>>