python requests请求之timeout参数
requests请求之timeout参数
1、python 的requests请求都可以使用timeout参数。
2、timeout参数可以传入一个简单的浮点数,它将请求的连接部分和读取部分设为相同的超时时间。
3、timeout参数也可以传入一个包含两个简单浮点数的元组,用来分别设置请求超时时间和读取超时时间。
举例说明:
1、传入简单浮点数:
import requests # 设置超时时间为1秒: r = requests.get("https://gethub.com", timeout=1) print(r.status_code) ------------------------------------------------------------------------ 执行结果: requests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='gethub.com', port=443): Max retries exceeded with url: / (Caused by ConnectTimeoutError(<urllib3.connection.VerifiedHTTPSConnection object at 0x000001B820359248>, 'Connection to gethub.com timed out. (connect timeout=1)')) 因为在1秒的连接时间内没有连接到服务器,所以就会报连接超时的错误,如上。
上方代码仅将timeout参数传入了一个简单浮点数,这个传入值不一定是个整数,也可以是0.1,0.05这些浮点数。
2、传入元组:
import requests # 传入元组将分别作为连接,读取的超时时间 r = requests.get("https://baidu.com", timeout=(0.01, 0.01)) print(r.status_code) ------------------------------------------------------------------------ 执行结果: requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='baidu.com', port=443): Read timed out. (read timeout=0.01) 因为读取时间设置的比较短,所以产生了读取超时错误
3、如果想永久等待,可以将timeout的参数值设为None或者不设置该参数:
r = requests.get("https://baidu.com", timeout=None) r = requests.get("https://baidu.com")
【注意】如果你传入三个参数,python会以错误的方式提示你这个参数都有什么传入值如下:
Pass a (connect, read) timeout tuple, or a single float to set both timeouts to the same value ------------------------------------------------------------------------ 翻译:传递(连接、读取)超时元组或单个浮点数,将两个超时设置为相同的值
去期待陌生,去拥抱惊喜。
分类:
接口测试
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!