python3 超时请求

代肖宇 3个月前 36浏览 0评论

在Python3中,有时候我们会需要超时请求。例如,在爬取网络资源的时候,如果某一个网站响应时间过长,我们就希望可以设置一个超时时间,如果在这个时间内我们仍未获得响应,就放弃此次请求。

要实现Python3的超时请求,我们可以使用requests库中的timeout参数。这个参数可以设置我们的请求最大等待时间,单位为秒。如果过了这个时间,我们的请求会自动终止,并抛出一个Timeout异常。

import requests

try:
    response = requests.get('http://www.example.com', timeout=3)
    print(response.text)
except requests.exceptions.Timeout:
    print("请求超时")

在以上代码中,我们向 http://www.example.com 发起一个GET请求,并设置了最大等待时间为3秒。如果在3秒内我们未获得响应,就会抛出一个Timeout异常。

使用timeout参数可以在爬取网络资源时避免我们的程序陷入死循环,同时也可以提高我们的程序的鲁棒性和稳定性。