Python调用WinREST API无法将变量放入Session-Token请求头问题求助
问题原因
你遇到的报错是Python基础语法错误导致的请求参数非法,核心问题出在sessionToken变量的赋值语句不符合Python规范:
你写的sessionToken = 'session_token': 'gggg6gsl68l2vdim5fgggggg'}既不是合法的字符串赋值,也不是合法的字典赋值:多了多余的冒号、没有字典左大括号、尾部多了一个右大括号。非法的sessionToken值传入headers后,requests的参数校验不通过,就会触发你看到的request('get', url, params=params, **kwargs)相关报错。
修复方案
根据你的使用场景有两种修复方式:
- 如果你只需要把session token的字符串存为变量,直接赋值字符串即可,修正后的代码如下:
sessionToken = 'gggg6gsl68l2vdim5fgggggg' headers = { 'App-Token': 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'Session-Token': sessionToken } response = requests.get(urlUnencryptedWorkstation, headers=headers)
- 如果你是希望先把token存在字典里再取值,补全字典语法后调用对应key即可:
# 补全字典的左大括号,定义合法的字典变量 token_info = {'session_token': 'gggg6gsl68l2vdim5fgggggg'} headers = { 'App-Token': 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'Session-Token': token_info['session_token'] } response = requests.get(urlUnencryptedWorkstation, headers=headers)
内容的提问来源于stack exchange,提问作者Mr.Postman
相关产品推荐
相关产品推荐

