urllib 的异常错误处理
我们在发送请求的过程中,如果网络环境不好,或者出现了其他问题,会出现请求异常,如果不处理这些异常,程序很可能会崩溃,所以我们需要处理请求异常问题.
这里主要说的是URLError和HTTPError,以及对它们的错误处理。
URLError:来自urllib库的error模块,继承自OSError,由request模块产生的异常都可以通过捕捉这个类来处理.
产生的原因主要有:
没有网络连接
服务器连接失败
找不到指定的服务器
它具有一个属性reason,返回错误的原因
HTTPError
HTTPError是URLError的子类,我们发出一个请求时,服务器上都会对应一个response应答对象,其中它包含一个数字"响应状态码"。
专门用来处理HTTP请求错误,比如未认证,页面不存在等
有三个属性:
code:返回HTTP的状态码
reason:返回错误原因
headers:返回请求头
注意,urllib可以为我们处理重定向的页面(也就是3开头的响应码),100-299范围的号码表示成功,所以我们只能看到400-599的错误号码。
网友评论