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