1

我有一个经过身份验证的资源,需要领域、用户名和密码进行身份验证。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 中添加这个领域字符串?

4

1 回答 1

0

如果httplib2不是必须的,使用requests它变得微不足道:

requests.get('http://www.example.com/', auth=('user', 'pass'))
于 2012-08-29T13:34:52.573 回答