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