Python httplib.HTTPSConnection超时--连接与响应

Python httplib.HTTPSConnection超时--连接与响应,python,timeout,httplib,Python,Timeout,Httplib,使用httplib创建HTTPSConnection时,设置超时非常简单: connection = httplib.HTTPSConnection('some.server.com', timeout=10) connection.request('POST', '/api', xml, headers={'Content-Type': 'text/xml'}) response = connection.getresponse().read() 此操作包括多个部分,例如接受连接和接收响应

使用
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,但不确定它何时接受我的连接但未能响应的情况。

标准库实现似乎不支持套接字读取操作超时。为此,您必须使
HTTPSConnection
(技术上是
HTTPResponse.\u safe\u read
方法)非阻塞

这里有一个类似的问题,这也可能有帮助:


如果在您的情况下可能的话,我会将其用于整个应用程序,它支持完全非阻塞I/O,并且您可以实现任何您想要的超时方案,即使是同时用于多个连接。

我实际上希望它阻塞。我只想确保整个操作,从接受连接到接收响应,最多会阻塞10秒。