python - 在 python 中设置全局套接字超时的正确方法是什么?

标签 python sockets python-requests httplib urllib3

我正在使用许多不同的库,每个库都使用不同的底层方式来建立套接字连接,例如 urllib3、requests 和 httplib。这是Python 2.7.5 中的。

程序会周期性地卡在其中一个库中,等待网络 IO 完成。

我尝试过socket.setdefaulttimeout(1.0)和socket._GLOBAL_DEFAULT_TIMEOUT = 1.0,但都对我的程序没有任何影响。

设置全局套接字超时的正确方法是什么?

最佳答案

正如函数名称所暗示的那样,setdefaulttimeout 只是默认值。如果任何其他库设置了套接字上的超时,它将覆盖此默认值。 所以我别无选择,只能在每个库中明确设置超时

完整的答案可以在 here 找到

关于python - 在 python 中设置全局套接字超时的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21602924/

相关文章:

python - pip在Windows上安装geopandas

python - 功能和标签尺寸崩溃 (tflearn)

python网页抓取请求错误(mod security)

python - 试图找到类(class)内的号码

python - 如何在Python上替换二维列表中的多个元素?

Linux 用户空间 L2 控制协议(protocol)

php - 如何计算PHP套接字中的连接数

c# - 异步套接字客户端接收

python - 如何获取两个请求之间的差异

python - 使用请求和BeautifulSoup获取Youtube视频标题有时会出错,有时会起作用(Python)