2个异常基类:RequestException(包含所有requests异常)、ConnectError(包含4种连接异常)
4个具体连接异常:
ConnectTimeout(未在指定时间内连接到服务器)
ReadTimeout(成功连接服务器,等待服务器响应超时)
Timeout(包含ConnectTimeout和ReadTimeout异常)
TooManyRedirects(重定向数超过设定的最大次数)
1个URL无效异常:URLRequired
1个状态码异常:HTTPError代表客户端或服务器端错误。
1、exception requests.RequestException(*args, **kwargs)
这个异常是requests库中所有请求异常的基类,任何异常都会触发它,因此如想捕获特定的异常,可以参考后面的具体异常捕获方法。
2、exception requests.ConnectionError(*args, **kwargs)
表示与请求相关的连接错误。它是一个基类,包括了:ConnectTimeout、ReadTimeout、Timeout、TooManyRedirects四个异常。
3、exception requests.HTTPError(*args, **kwargs)
当HTTP请求返回一个错误状态码时触发。
例如服务器返回的HTTP响应码为4xx客户端错误或5xx服务器错误,HTTPError就会触发。
4、exception requests.URLRequired(*args, **kwargs)
表示在发起请求时未提供有效的URL。
5、exception requests.TooManyRedirects(*args, **kwargs)
当请求超过设定的最大重定向次数时触发。
6、exception requests.ConnectTimeout(*args, **kwargs)
表示在尝试建立连接时,未在指定的时间内成功建立连接。
这可能是由于网络问题、服务器问题或防火墙/代理设置导致。
7、exception requests.ReadTimeout(*args, **kwargs)
表示请求已成功接连,在等待服务器响应时超时。
这可能是服务器响应速度较慢,或返回的数据量太大,服务器处理请求时间较长时发生。
8、exception requests.Timeout(*args, **kwargs)
当请求超时时触发。捕获此错误时会同时获取ConnectTimeout和ReadTimeout错误。