python - 如何使用 python urllib 在 HTTP/1.1 中保持活跃

标签 python http keep-alive

现在我正在这样做:(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/

相关文章:

delphi - 什么会导致套接字在每次 HTTP 事务后快速关闭?

Python:按名称访问嵌套函数

java - Jersey HTTP 响应 200 OK 但返回内容错误(用户名/密码不正确)

c++ - 多个页面的 HTTP 网关

Android - http 连接错误 java.net.UnknownHostException :

iphone - 在NSURLConnection中禁用保持事件状态

python - 保留已删除列的索引

python - 从 grid_2d_graph 中一致删除节点

Python 正则表达式 - 从 CSS 声明中获取所有值

c# - 使用新的 RDP 客户端保持事件代码失败