Python Api请求,会话已过期
我在试着翻译Python Api请求,会话已过期,python,session,request,Python,Session,Request,我在试着翻译 curl -k 'https://'adresse_IP':443/?\{%22request%22:%22postRequest%22\}' --data '? {"request":"login","data":{"login":"user","password":"password"}}' --cookie-jar ./cookiefilename python语言(2.7) 所以我首先尝试: data = { 'request' : 'login'
curl -k 'https://'adresse_IP':443/?\{%22request%22:%22postRequest%22\}' --data '?
{"request":"login","data":{"login":"user","password":"password"}}' --cookie-jar ./cookiefilename
python语言(2.7)
所以我首先尝试:
data = { 'request' : 'login', 'login' : 'user', 'password' : 'password' }
url_token = "https://ip:443?\?\{%22request%22:%22postRequest%22\}"
r_token = requests.post(url_token, json.dumps(data), verify=False)
但没有成功
{"responseStatus":["SEX","SESSION_EXPIRED"],"reloadUserProfile":false}
因此,我试图修复会话问题
s = requests.Session()
r = s.post(url_token, json.dumps(data), verify=False)
但同样的问题
{"responseStatus":["SEX","SESSION_EXPIRED"],"reloadUserProfile":false}
用户使用curl(bash)您没有设置内容标题,您应该在
json.dumps(data)
前面使用关键字data
。更改:
致:
在请求版本2.4.2中引入了json
关键字,它也将设置正确的内容头。因此,对于新版本的请求,您可以执行以下操作:
r = s.post(url_token, json=data)
编辑: 我认为您还需要将
数据
更改为以下内容,以匹配您的curl请求:
data = {"request":"login","data":{"login":"user","password":"password"}}
我试过了
'https://<adresse_IP>:443'
答复
{"responseStatus":["F","REQUEST_UNDEFINED"],"reloadUserProfile":false}
我猜我对请求的编码很糟糕。谢谢你的帮助,我按照你告诉我的那样添加了数据={'request':'login':'user','password':'password'}头={'content-type':'application/json'}url\u-token=“?\?\?\{%22request%22:%22postRequest%22\}”r\u-token=requests.post(url\u-token,data=json.dumps(data),headers=headers,verify=False)“不幸的是,相同的问题类型Regards@MaximusJones我想你把
数据
搞错了。请参阅上面的编辑。如果我使用?\?\{%22request%22:%22postRequest%22\}请求配置良好,但没有使用
'https://<adresse_IP>:443'
data = { 'request' : 'login', 'login' : 'user', 'password' : 'password' }
headers = {'content-type': 'application/json'}
url_token = "https://ip:443?\?\{%22request%22:%22postRequest%22\}"
r_token = requests.post(url_token, json.dumps(data), headers=headers, verify=False)'
{"responseStatus":["F","REQUEST_UNDEFINED"],"reloadUserProfile":false}