【发布时间】:2011-10-20 14:03:03
【问题描述】:
使用httplib 创建HTTPSConnection 时,很容易设置超时:
connection = httplib.HTTPSConnection('some.server.com', timeout=10)
connection.request('POST', '/api', xml, headers={'Content-Type': 'text/xml'})
response = connection.getresponse().read()
这个操作有不同的部分,例如正在接受连接并收到响应。
超时是否适用于整个操作?如果远程主机接受连接但从不发回响应,它仍然会超时吗?我想确保设置超时确保操作最多阻塞 10 秒。
一些上下文:
我正在连接到外部 API 并希望阻止该操作。只是不要超过 10 秒,如果阻塞超过 10 秒,停止阻塞并引发异常。当外部 API 无法访问但不确定它何时接受我的连接但无法响应时,我正在正确处理这种情况。
【问题讨论】: