使用Python进行URL身份验证以获取重定向或最终URL

0 投票
1 回答
678 浏览
提问于 2025-04-18 01:07

我正在使用谷歌的API来获取审计日志。代码运行得很好,生成了一个网址。我把这个网址粘贴到浏览器里,它会要求我登录谷歌邮箱进行授权。授权后,它会把我重定向到一个新的网址。

我尝试用Python代码自动完成这个过程,但在得到最终的重定向网址之前,无法完成身份验证。

我尝试了以下代码,但没有成功:

import urllib2, base64

request = urllib2.Request("http://api.foursquare.com/v1/user")
base64string = base64.encodestring('%s:%s' % (username, password)).replace('\n', '')
request.add_header("Authorization", "Basic %s" % base64string)   
result = urllib2.urlopen(request)

请问如何才能用Python完成身份验证并重定向到最终的网址呢?

1 个回答

0

我建议你可以考虑使用Python的requests库来访问API。使用基本认证时,requests的用法非常简单:

requests.get('http://api.foursquare.com/v1/user', auth=('username', 'password'))

它会自动处理任何重定向。虽然我觉得在使用基本认证访问foursquare API时,你可能不需要处理重定向,但如果你需要的话,requests也能做到这一点

撰写回答