现在我正在这样做:(Python3,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.
这是怎么回事;
我不断收到来自服务器的 gzipped 响应并且我保持登录状态(我正在获取一些内容,如果我没有登录则这些内容不可用)但我认为每个请求之间的连接都断开了 opener.open;
我认为是因为连接速度很慢,而且似乎每次都有新的连接。两个问题:
a)我如何测试连接实际上是否保持事件状态/垂死状态
b)如何让它在请求其他 url 之间保持事件状态?
保重:)
最佳答案
这将是一个非常延迟的答案,但是:
你应该看到 urllib3 .它适用于 Python 2.x,但当您看到他们的 README 文档时您就会明白这一点。
是的,默认情况下 urllib 不会保持连接,我现在正在为 Python 3 实现 urllib3 以保留在我的工具包中:)
关于python - 如何使用 python urllib 在 HTTP/1.1 中保持活跃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4385343/