如何使用python请求模块创建自定义标头
我正在编写一个python脚本来执行OAuth client_凭证类型的授权,并且需要在下一个URL请求中将获取的承载令牌作为“authorization”头参数传递 当我得到一个字符串令牌时,我能够执行获取承载令牌作为响应。现在我需要在下一个请求头中传递这个字符串。下面是代码片段如何使用python请求模块创建自定义标头,python,oauth-2.0,Python,Oauth 2.0,我正在编写一个python脚本来执行OAuth client_凭证类型的授权,并且需要在下一个URL请求中将获取的承载令牌作为“authorization”头参数传递 当我得到一个字符串令牌时,我能够执行获取承载令牌作为响应。现在我需要在下一个请求头中传递这个字符串。下面是代码片段 def getOAuthToken(): ClientAuth = requests.auth.HTTPBasicAuth(ClientId, ClientSecret) PostData = {&q
def getOAuthToken():
ClientAuth = requests.auth.HTTPBasicAuth(ClientId, ClientSecret)
PostData = {"grant_type": "client_credentials"}
TokenResponse = requests.post(TokenUrl, auth=ClientAuth, data=PostData)
if(TokenResponse.ok):
print("Token Json response is success")
print(TokenResponse.content)
else:
print("Error in json response")
TokenJson = TokenResponse.json()
AccessToken = "Bearer "+TokenJson["access_token"]
print("AccessToken =",AccessToken)
def GetOAuthJsonResponse(Url, Headers):
JsonResponse = requests.get(Url, headers=Headers)
print(JsonResponse.status_code)
if(JsonResponse.ok):
print("Token Json response is success")
else:
print("Error in json response")
#AccessToken is the Bearer token received from authorization server
#Sample AccessToken will be like "Bearer 123475755959"
Headers = {'Authorization': AccessToken}
GetOAuthJsonResponse(OAuthBaseUrl, Headers)
这样做,我得到401作为状态码。401表示未经授权的访问。这似乎是我在向头添加访问令牌时出错了。
任何人都可以在这方面帮助我。授权头需要类似于
承载人的结果。试试这句话:
Headers={'Authorization':f“Bearer{AccessToken}}
这将以正确的格式格式化标头。授权标头需要类似于承载的结果。试试这句话:
Headers={'Authorization':f“Bearer{AccessToken}}
这将以正确的格式格式化标题。确保您的AccessToken如注释所述的格式为“Bearer”,验证AccessToken的类型为Bearer。在我的问题陈述中又添加了一个函数定义确保您的AccessToken,如注释所述,是“Bearer”格式的验证AccessToken是在Bearer类型上的。在我的问题陈述中又添加了一个函数定义感谢您的快速响应。添加了建议的更改,但仍将401视为状态代码。错误地将访问令牌硬编码为静态值。与上述建议的标题格式一起进行的微小修改工作正常。现在,我从经过身份验证的RESTAPI获得了成功响应。很高兴我能提供帮助:)感谢您的快速响应。添加了建议的更改,但仍将401视为状态代码。错误地将访问令牌硬编码为静态值。与上述建议的标题格式一起进行的微小修改工作正常。现在我从经过身份验证的rest api获得了成功响应。很高兴我能提供帮助:)