python - requests 库 使用过程中timeout值最大可设值?
伊谢尔伦
伊谢尔伦 2017-04-17 17:35:17
[Python讨论组]

请问
requests 库 使用过程中timeout错误的默认时间是多长呢?
查看源码 理论上 timeout值可以任意设?
默认 timeout 值 是怎么来的呢?
如果我想设一个比较大的timeout 值 会生效吗?

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回复(1)
黄舟

Requests 库是基于 urllib3 的,其连接的发起是调用了 urlopen 方法。其超时时间默认是 urllib3 中的 DEFAULT_TIMEOUT 决定。

在 urllib3中:

DEFAULT_TIMEOUT = _GLOBAL_DEFAULT_TIMEOUT

而 _GLOBAL_DEFAULT_TIMEOUT 的值是由 python 标准库 socket.py 决定的,在 socket.py 的源码中可以看到:

If no *timeout* is supplied, the global default timeout setting returned by :func:`getdefaulttimeout` is used.

getdefaulttimeout 函数在文档中已经有了非常明确地描述,你也可以点击这里查看:

Return the default timeout in seconds (float) for new socket objects. A value of None indicates that new socket objects have no timeout. When the socket module is first imported, the default is None.

也就是说当未指定超时时间时,默认的超时时间是 None,亦即连接永远不会超时。

对于 requests 的超时时间设置,在 requests 的文档中已经描述的非常清楚了,可以是一个浮点数或者一个元组,在此就不再赘述。

timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a (`connect timeout, read timeout`_) tuple.

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号