Python urllib忽略身份验证请求

Python urllib忽略身份验证请求,python,urllib,urlopen,Python,Urllib,Urlopen,我在创建一个使用URL的脚本时遇到了一些问题。我正在使用urllib.urlopen()获取所需URL的内容。但其中一些URL需要身份验证。urlopen会提示我输入用户名和密码。 我需要的是忽略每个需要验证的URL,只是简单地跳过它并继续,有没有办法做到这一点? 我想知道如何捕获HTTPError异常,但事实上,异常是由urlopen()方法处理的,所以它不起作用 感谢您的回复。关于例外情况,您是对的: 异常urllib2.HTTPError 虽然HTTPError是一个异常(URLError

我在创建一个使用URL的脚本时遇到了一些问题。我正在使用urllib.urlopen()获取所需URL的内容。但其中一些URL需要身份验证。urlopen会提示我输入用户名和密码。 我需要的是忽略每个需要验证的URL,只是简单地跳过它并继续,有没有办法做到这一点? 我想知道如何捕获HTTPError异常,但事实上,异常是由urlopen()方法处理的,所以它不起作用

感谢您的回复。

关于例外情况,您是对的:

异常urllib2.HTTPError

虽然HTTPError是一个异常(URLError的子类),但它也可以作为一个非异常的类似文件的返回值(与urlopen()返回的内容相同)。这在处理异常HTTP错误时非常有用,例如身份验证请求。

code

RFC 2616中定义的HTTP状态代码。此数值对应于BaseHTTPServer.BaseHTTPRequestHandler.responses中代码字典中的值

异常的code属性可用于验证是否需要身份验证-代码401

>>> try: 
...     conn = urllib2.urlopen('http://www.example.com/admin')
...     # read conn and process data
... except urllib2.HTTPError, x:
...     print 'Ignoring', x.code
...     
Ignoring 401
>>>