如何检测pythonrequests keep-alive连接中的断开连接?

2024-05-15 03:59:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用python请求连接到实时提要。 连接之后,我使用iter_线在数据到达时检查数据。 我正在尝试检测断开时,它发生,目前没有成功。在

我目前检测断开连接的方法是最多等待30秒等待一条新线到达,如果没有,我重新启动连接。问题是我错过了30秒内到达的数据。在

作为测试,我试着在中间关掉wifi,看看是否有什么变化(比如响应状态代码)改变了,但没有改变。在

示例代码:

r = requests.get(url, stream=True)

while True:
     time.sleep(1)
     print(r.status_code)

我原以为连接时打印出来的是200,关掉wifi时会出现一些“错误”,但我一直看到200。在

有人知道检测断开的方法吗?在


Tags: 数据方法代码trueurl示例streamget
1条回答
网友
1楼 · 发布于 2024-05-15 03:59:56

正如pythonrequests doc所说,keep-alive在会话中是100%自动的。你应该这样读:

r = requests.get(url, stream=True)

for line in r.iter_lines():
    if line:
        print json.loads(line)

你可以阅读更多关于它的here

相关问题 更多 >

    热门问题