Python请求模块连接超时

Python请求模块连接超时,python,python-requests,Python,Python Requests,我正在查看和“连接超时”被列为一项功能。然而,当我进一步阅读时,它指出 超时不是整个响应下载的时间限制;相反,如果服务器在超时秒内未发出响应(更准确地说,如果在超时秒内基础套接字上未接收到字节),则会引发异常 这听起来不像是对连接超时的描述。我看到的是连接成功,它上载一个大文件,然后等待响应。但是,响应需要一段时间,然后超时 如何设置连接超时,但在连接成功后仍等待慢速响应?非常感谢 超时用于套接字连接阶段和响应读取阶段。唯一的例外是流式请求;如果设置了stream=True,则无法将超时应用于读

我正在查看和“连接超时”被列为一项功能。然而,当我进一步阅读时,它指出

超时不是整个响应下载的时间限制;相反,如果服务器在超时秒内未发出响应(更准确地说,如果在超时秒内基础套接字上未接收到字节),则会引发异常

这听起来不像是对连接超时的描述。我看到的是连接成功,它上载一个大文件,然后等待响应。但是,响应需要一段时间,然后超时


如何设置连接超时,但在连接成功后仍等待慢速响应?非常感谢

超时用于套接字连接阶段和响应读取阶段。唯一的例外是流式请求;如果设置了
stream=True
,则无法将超时应用于读取部分。超时实际上只是用于等待套接字连接或接收数据

如果您需要一个整体超时,那么使用另一种技术,比如使用中断或eventlet:

请求(对于人)库有连接超时,请参阅 -

r=requests.get('https://github.com,超时=(3.05,27))
#例如,明确地
连接超时=6
读取超时=60
超时=(连接超时、读取超时)
r=请求。获取('https://github.com,超时=超时)

文档没有明确说明元组中的哪个值,但可以安全地假设它是
(连接,读取)
超时。

相关:,请注意,这并不意味着您不能接收到带有
流=True
的读取超时异常。这是设置超时最实用的答案