84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
1、请问如何捕获python url相关的异常?比如(1)请求的url不存在(2)url格式错误
(3)404 not found
用urllib.urlopen()打开的时候,只能捕获格式不正确。。即使请求的url不存在,用getcode()返回的状态码还是200(为什么?)
这里一直没搞明白。
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
1、URL存不存在是服务器响应决定的,所以无论如何都是在这个URL被访问以后才能知道的(根据响应头中的 Status Code)。所以有些页面返回200状态码但是内容是页面不存在的提示,这也是没有办法的。
import urllib urllib.urlopen('http://blog.bluerain.io/abc/defghijk/').getcode()
在 Python 控制台输入上面语句会返回404,因为上面的链接是我的网站中不存在的页面,状态吗是规范的404.
2、错误的URL当参数调用该API的话会直接引发异常,可以枚举出那几种会出现的异常来提示URL错误类型。也可以用正则来判断URL是否符合规范。例如我下面写了一个例子,特意捕获了其中一种异常发生原因。
import urllib try: code = urllib.urlopen('htt://blog.bluerain.io').getcode() except IOError, e: if e.args[1] == 'unknown url type': raise Exception('URL格式错误:未知的协议。')
1、URL存不存在是服务器响应决定的,所以无论如何都是在这个URL被访问以后才能知道的(根据响应头中的 Status Code)。所以有些页面返回200状态码但是内容是页面不存在的提示,这也是没有办法的。
在 Python 控制台输入上面语句会返回404,因为上面的链接是我的网站中不存在的页面,状态吗是规范的404.
2、错误的URL当参数调用该API的话会直接引发异常,可以枚举出那几种会出现的异常来提示URL错误类型。也可以用正则来判断URL是否符合规范。例如我下面写了一个例子,特意捕获了其中一种异常发生原因。