84669 personnes étudient
152542 personnes étudient
20005 personnes étudient
5487 personnes étudient
7821 personnes étudient
359900 personnes étudient
3350 personnes étudient
180660 personnes étudient
48569 personnes étudient
18603 personnes étudient
40936 personnes étudient
1549 personnes étudient
1183 personnes étudient
32909 personnes étudient
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是否符合规范。例如我下面写了一个例子,特意捕获了其中一种异常发生原因。