使用请求模块注销用户

Using requests module to log out the user

我需要帮助构建 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

它看起来不像是 POST 请求 - 当您单击超链接时,浏览器会发送 GET 请求。
(好吧,removeLoginCookie 函数可以覆盖它并改为发送 POST 请求。)

此外,确定 cookie 名称是什么,然后调用类似的东西(取决于 removeLoginCookie 的工作方式以及它用于存储会话密钥的名称):

r = requests.get(url + 'logout.jsp', params={'submit_ButtonOK': 'true'}, cookies={'logged_in': 'false', 'session': ''})