Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Api请求,会话已过期_Python_Session_Request - Fatal编程技术网

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}