Python httplib2不适用于经过身份验证的资源

时间:2012-08-29 13:30:07

标签: python http urllib2 basic-authentication httplib2

我有一个经过身份验证的资源,需要域,用户名和密码才能进行身份验证。 Python的urllib2提供了提供领域,但我没有找到任何httplib2的规定。 这是示例代码, 使用urllib2:

  auth_handler = urllib2.HTTPBasicAuthHandler()
  auth_handler.add_password("Protected",
                          uri="http://" + url,
                          user=username,
                          passwd=password)
  opener = urllib2.build_opener(auth_handler)
  urllib2.install_opener(opener)

  try :
     data = urllib2.urlopen(url, None, timeout).read()

在这里"受保护"是身份验证所需的领域。

现在看看httplib2:

req = httplib2.Http(timeout=5)
req.add_credentials(username, password)
response, data = req.request (url, headers={'Connection': 'Keep-Alive', 'accept-encoding': 'gzip'})

对于httplib2,我没有找到任何提供领域字符串进行身份验证的规定。

有没有办法在httplib2中添加这个领域字符串??

1 个答案:

答案 0 :(得分:0)

如果httplib2不是必须的,那么使用requests就变得微不足道了:

requests.get('http://www.example.com/', auth=('user', 'pass'))