【问题标题】:How to detect a disconnect in python-requests keep alive connection?如何检测python-requests中的断开连接保持连接?
【发布时间】:2019-03-26 19:03:49
【问题描述】:

我正在使用 python-requests 连接到实时提要。 连接后,我使用 iter_lines 在数据到达时对其进行检查。 我正在尝试在发生断开连接时检测它,目前没有成功。

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

作为测试,我尝试在中间关闭我的 wifi 并查看是否有任何变化(如 Response.status_code),但它没有。

示例代码:

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

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

我希望连接后打印显示 200,关闭 wifi 时显示 SOME_SORT_OF_ERROR,但我一直看到 200。

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

【问题讨论】:

    标签: python python-requests keep-alive urllib3


    【解决方案1】:

    正如 python 请求文档所说,保持活动在会话中是 100% 自动的。您应该这样阅读这些行:

    r = requests.get(url, stream=True)
    
    for line in r.iter_lines():
        if line:
            print json.loads(line)
    

    您可以阅读更多关于它的信息here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-11
      • 1970-01-01
      • 2012-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-07
      相关资源
      最近更新 更多