現在我這樣做:(Python3,urllib的)如何生存在HTTP/1.1使用Python的urllib
url = 'someurl'
headers = '(('HOST', 'somehost'),/
('Connection', 'keep-alive'),/
('Accept-Encoding' , 'gzip,deflate'))
opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor())
for h in headers:
opener.addheaders.append(x)
data = 'some logging data' #username, pw etc.
opener.open('somesite/login.php, data)
res = opener.open(someurl)
data = res.read()
... some stuff here...
res1 = opener.open(someurl2)
data = res1.read()
etc.
正在發生的事情是這樣的;我保持登錄狀態(如果我沒有登錄,我正在獲取一些不可用的內容),但是我認爲每個請求之間的連接正在斷開。opener.open;
我認爲,因爲連接速度很慢,每次都有新的連接。兩個問題:
a)如何測試連接是否處於活動狀態/正在死亡
b)如何使其在其他URL的請求之間保持活動狀態?
照顧:)
a)嗅探流量將是檢查您是否保持活力的微不足道的方法。確保服務器也支持keepalive。至於b),至少在python2.x中有一種方法可以指定一個可以存活的處理程序,但它似乎並不是默認的。 – Robert 2010-12-08 08:12:12