2011-07-02 89 views
9

試圖讓登錄腳本工作,我不斷得到相同的登錄頁面返回,所以我打開了http流的調試(不能使用wireshark或就像因爲https)。調試連接urllib2 + httplib.debuglevel有時不顯示調試信息

我什麼都沒有,所以我複製了這個例子,它的工作原理。任何查詢到google.com的作品,但我的目標頁面不顯示調試,有什麼區別?如果是重定向,我希望看到第一個獲取/重定向標頭,並且也會重定向。

import urllib 
import urllib2 
import pdb 

h=urllib2.HTTPHandler(debuglevel=1) 
opener = urllib2.build_opener(h) 
urllib2.install_opener(opener) 
print '================================' 
data = urllib2.urlopen('http://google.com').read() 
print '================================' 
data = urllib2.urlopen('https://google.com').read() 
print '================================' 
data = urllib2.urlopen('https://members.poolplayers.com/default.aspx').read() 
print '================================' 
data = urllib2.urlopen('https://google.com').read() 

當我跑我得到這個。

$ python ex.py 
================================ 
send: 'GET/HTTP/1.1\r\nAccept-Encoding: identity\r\nHost: google.com\r\nConnection: close\r\nUser-Agent: Python-urllib/2.7\r\n\r\n' 
reply: 'HTTP/1.1 301 Moved Permanently\r\n' 
header: Location: http://www.google.com/ 
header: Content-Type: text/html; charset=UTF-8 
header: Date: Sat, 02 Jul 2011 16:20:11 GMT 
header: Expires: Mon, 01 Aug 2011 16:20:11 GMT 
header: Cache-Control: public, max-age=2592000 
header: Server: gws 
header: Content-Length: 219 
header: X-XSS-Protection: 1; mode=block 
header: Connection: close 
send: 'GET/HTTP/1.1\r\nAccept-Encoding: identity\r\nHost: www.google.com\r\nConnection: close\r\nUser-Agent: Python-urllib/2.7\r\n\r\n' 
reply: 'HTTP/1.1 200 OK\r\n' 
header: Date: Sat, 02 Jul 2011 16:20:12 GMT 
header: Expires: -1 
header: Cache-Control: private, max-age=0 
header: Content-Type: text/html; charset=ISO-8859-1 
header: Set-Cookie: PREF=ID=4ca9123c4f8b617f:FF=0:TM=1309623612:LM=1309623612:S=o3GqHRj5_3BkKFuJ; expires=Mon, 01-Jul-2013 16:20:12 GMT; path=/; domain=.google.com 
header: Set-Cookie: NID=48=eZdXW-qQQC2fRrXps3HpzkGgeWbMCnyT_taxzdvW1icXS1KSM0SSYOL7B8-OPsw0eLLAbvCW863Viv9ICDj4VAL7dmHtF-gsPfro67IFN5SP6WyHHpLL7JsS_-MOvwSD; expires=Sun, 01-Jan-2012 16:20:12 GMT; path=/; domain=.google.com; HttpOnly 
header: Server: gws 
header: X-XSS-Protection: 1; mode=block 
header: Connection: close 
================================ 
send: 'GET/HTTP/1.1\r\nAccept-Encoding: identity\r\nHost: www.google.com\r\nConnection: close\r\nUser-Agent: Python-urllib/2.7\r\n\r\n' 
reply: 'HTTP/1.1 200 OK\r\n' 
header: Date: Sat, 02 Jul 2011 16:20:14 GMT 
header: Expires: -1 
header: Cache-Control: private, max-age=0 
header: Content-Type: text/html; charset=ISO-8859-1 
header: Set-Cookie: PREF=ID=d613768b3704482b:FF=0:TM=1309623614:LM=1309623614:S=xLxMwBVKEG_bb1bo; expires=Mon, 01-Jul-2013 16:20:14 GMT; path=/; domain=.google.com 
header: Set-Cookie: NID=48=im_KcHyhG2LrrGgLsQjYlwI93lFZa2jZjEYBzdn-xXEyQnoGo8xkP0234fROYV5DScfY_6UbbCJFtyP_V00Ji11kjZwJzR63LfkLoTlEqiaY7FQCIky_8hA2NEqcXwJe; expires=Sun, 01-Jan-2012 16:20:14 GMT; path=/; domain=.google.com; HttpOnly 
header: Server: gws 
header: X-XSS-Protection: 1; mode=block 
header: Connection: close 
================================ 
================================ 
send: 'GET/HTTP/1.1\r\nAccept-Encoding: identity\r\nHost: www.google.com\r\nConnection: close\r\nUser-Agent: Python-urllib/2.7\r\n\r\n' 
reply: 'HTTP/1.1 200 OK\r\n' 
header: Date: Sat, 02 Jul 2011 16:20:16 GMT 
header: Expires: -1 
header: Cache-Control: private, max-age=0 
header: Content-Type: text/html; charset=ISO-8859-1 
header: Set-Cookie: PREF=ID=dc2cb55e6476c555:FF=0:TM=1309623616:LM=1309623616:S=o__g-Zcpts392D9_; expires=Mon, 01-Jul-2013 16:20:16 GMT; path=/; domain=.google.com 
header: Set-Cookie: NID=48=R5gy1aTMjL8pghxQmfUkJaMLc3SxmpFxu5XpoZELAsZrdf8ogQLwyo9Vbk_pRkoETvKE-beWbHHBZu3xgJDt6IsjwmSHPaMGSzxXvsWERxsbKwQMy-wlLSfasvUq5x6q; expires=Sun, 01-Jan-2012 16:20:16 GMT; path=/; domain=.google.com; HttpOnly 
header: Server: gws 
header: X-XSS-Protection: 1; mode=block 
header: Connection: close 

回答

10

你需要一個HTTP 小號處理程序:

h = urllib2.HTTPSHandler(debuglevel=1)