gpt4 book ai didi

python - 在python中将超时设置为http响应读取方法

转载 作者:太空宇宙 更新时间:2023-11-04 09:21:02 24 4
gpt4 key购买 nike

为了好玩,我在 python 中构建了一个下载管理器,有时与服务器的连接仍然打开,但服务器没有向我发送数据,因此(HTTPResponse 的)读取方法永远阻止了我。例如,当我从位于我所在国家/地区以外的服务器下载时,会发生这种情况,这会限制其他国家/地区的带宽。

如何为读取方法设置超时(例如 2 分钟)?

谢谢,尼尔。

最佳答案

如果你卡在某个 Python 版本上 < 2.6 ,一种(不完美但可用的)方法是做

import socket
socket.setdefaulttimeout(10.0) # or whatever

开始使用之前 httplib .文档是 here ,并明确说明 setdefaulttimeout从 Python 2.3 开始可用——从您执行此调用到您再次调用同一函数的每个套接字都将使用 10 秒的超时时间。您可以使用 getdefaulttimeout在设置新的超时之前,如果你想保存以前的超时(包括没有)以便你可以稍后恢复它(用另一个 setdefaulttimeout )。

当您需要使用一些使用 Python 的较旧的高级库时,这些函数和习惯用法非常有用 socket s 但没有给你设置超时的好方法(当然最好使用更新的更高级别的库,例如 2.6 附带的 httplib 版本或第三方的 httplib2 在这种情况下,但这是并不总是可行,使用默认超时设置可能是一个很好的解决方法)。

关于python - 在python中将超时设置为http响应读取方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2573044/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com