Python调用微博接口时,如何自动获取微博返回的Code值?

client = APIClient(APP_KEY, APP_SECRET, CALLBACK)
url = client.get_authorize_url()
webbrowser.open_new(url)

当打开url时,跳转后URL会附带一个code参数,每次都要手动拿到参数,再传递给程序,如何才能做到自动获取?

阅读 4.5k
1 个回答

我用的java api,也稍微看了下python的版本。

这个url实际上打开的是权限认证的url,然后授权后跳转到你自己的redirect_uri上,并且在后面加上参数code=xxxxx。所以你要想获得code,就必须在脚本中模拟授权的过程。

可以通过发送带有cookie的请求,并禁掉自动重定向来获得response中的location header,这个header就是带有code参数的redirect_uri。注意模拟请求的时候header字段要跟浏览器发送的header字段匹配(其实不是所有都需要,你可以逐步测试出来),否则可能会无法通过授权过程,得到登录页面的response。

也可以模拟登录过程,这个比较麻烦,网上有具体的教程,我就不说了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题