使用 urllib 处理 HTTP 异常

(1) 我们发起 HTTP 请求,有时会发生异常,如请求超时,登录密码错误,请求链接不存在等等,使用 urllib.request.URLError 可以捕获这些与 URL 相关的异常
(2) urllib.error.URLError 是一个异常类,如果我们使用 urlopen() 打开一个URL,打开失败就会抛出这个异常,失败的原因主要有:没有网络连接 、服务器连接失败 、找不到指定的服务器
(3) urllib.error.URLError 这个类包含了 code 和 reason 属性,code 即 HTTP 状态码,如 200,403,502 等,reason 用于描述失败的原因,通常用法如下:

import urllib.request
import urllib.error

try:
    urllib.request.urlopen('http://blog.csdn.net/cqcrek')
except urllib.error.URLError as e:
    if hasattr(e, 'code'):
        print('连接服务器失败,错误代码:%s' % e.code)
    if hasattr(e, 'reason'):
        print('连接服务器失败,失败原因:%s' % e.reason)
    else:
        print('连接服务器失败,失败原因:%s' % e)
else:
    print('OK')

 

 

 

 

 

 

 

    

posted @ 2019-03-14 16:22  孔雀东南飞  阅读(352)  评论(0编辑  收藏  举报