python requests请求之timeout参数(python培训)

网友投稿 472 2022-08-28


python requests请求之timeout参数(python培训)

requests请求之timeout参数

1、python 的requests请求都可以使用timeout参数。

2、timeout参数可以传入一个简单的浮点数,它将请求的连接部分和读取部分设为相同的超时时间。

3、timeout参数也可以传入一个包含两个简单浮点数的元组,用来分别设置请求超时时间和读取超时时间。

举例说明:

1、传入简单浮点数:

import requests# 设置超时时间为1秒:r = requests.get("timeout=1)print(r.status_code)------------------------------------------------------------------------执行结果:requests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='gethub.com', port=443): Max retries exceeded with url: / (Caused by ConnectTimeoutError(, 'Connection to gethub.com timed out. (connect timeout=1)'))因为在1秒的连接时间内没有连接到服务器,所以就会报连接超时的错误,如上。

上方代码仅将timeout参数传入了一个简单浮点数,这个传入值不一定是个整数,也可以是0.1,0.05这些浮点数。

2、传入元组:

import requests# 传入元组将分别作为连接,读取的超时时间r = requests.get("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("timeout=None)r = requests.get("a (connect, read) timeout tuple, or a single float to set both timeouts to the same value------------------------------------------------------------------------翻译:传递(连接、读取)超时元组或单个浮点数,将两个超时设置为相同的值

去期待陌生,去拥抱惊喜。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:学好Java MyBatis拦截器,提高工作效率
下一篇:python之简单算法面试题(python面试算法100题)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~