如何从请求标头中的位置键获取“ auth_code”?

问题描述

我正在使用Robot请求库,Python请求库和Python request_oauthlib库的组合来测试OAuth2项目。

我想知道是否有一种简单的方法获取身份验证代码(没有字符串索引),以便可以在生成令牌时使用它

例如,我有响应标头(来自登录):

{'location': 'http://127.0.0.1:19333/callback?code=clT17dFPedsgdfgsSFGDF%3D%3D&state=random%2F','content-length': '0','date': 'Fri,09 Oct 2020 11:20:52 GMT'}    

我通过做response.header

得到的

是否有某种方法可以通过执行类似clT17dFPedsgdfgsSFGDF%3D%3D的操作来获得request.auth_code

解决方法

使用Urllib.parseparse_qs函数返回键值对的字典,而parse_qsl函数返回(键值)元组的列表。

import urllib.parse
queryStr = 'http://127.0.0.1:19333/callback?code=clT17dFPedsgdfgsSFGDF%3D%3D&state=random%2F'
urllib.parse.parse_qsl(queryStr)

输出-

enter image description here

有关URL encoding

的更多详细信息