我需要帮助构建从网站注销的post请求。注销按钮的源代码(实际上它不是按钮)如下:
<a tabindex="9" title="Log Out" href="/logout.jsp?submit_ButtonOK=true" onclick="removeLoginCookie();">Log Out</a>
我的代码不起作用。用户仍然在脚本执行后登录。
logout = requests.post(url+'/logout.jsp?submit_ButtonOK=true')
print logout.url
我认为问题出在登录后保存的cookie中。
这是我的整个代码(当然还没有完成):
import requests, time
payload = {
'UserName_Text' : 'user',
'UserPW_Password' : 'pass',
'submit_ButtonOK' : 'return buttonClick;'
}
url = 'url'
p = requests.post(url+'/login.jsp', data = payload) #login
print p.url
timer = requests.get(url+'/login.jsp').elapsed.total_seconds()
print timer
logout = requests.get(url+'/logout.jsp', params={'submit_ButtonOK' :'true'})
print logout.url
答案 0 :(得分:0)
它看起来不像是POST
请求 - 当您点击超链接时,浏览器会发送GET
请求。
(好吧,removeLoginCookie
函数可以覆盖它并发送POST
请求。)
此外,确定cookie名称是什么,然后调用类似的东西(取决于removeLoginCookie
如何工作以及它用于存储会话密钥的名称):
r = requests.get(url + 'logout.jsp', params={'submit_ButtonOK': 'true'}, cookies={'logged_in': 'false', 'session': ''})