Python 检查post请求是否让我登录

Python 检查post请求是否让我登录,python,python-requests,Python,Python Requests,我正在尝试使用MediaWiki页面上的python请求模块以post请求登录: import requests s = requests.Session() s.auth = ('....', '....') url = '.....' values = {'wpName' : '....', 'wpPassword' : '.....'} req = s.post(url, values) print(req.content) 我无法从post请求的返回值判断登录尝试是否

我正在尝试使用MediaWiki页面上的python请求模块以post请求登录:

import requests

s = requests.Session()
s.auth = ('....', '....')
url = '.....'
values = {'wpName' : '....',
        'wpPassword' : '.....'}
req = s.post(url, values)
print(req.content)

我无法从post请求的返回值判断登录尝试是否成功。我能帮你查一下吗?谢谢。

通常,这种身份验证机制是使用HTTP cookies实现的。您可以在成功进行身份验证后检查会话cookie是否存在。您可以在HTTP响应头或会话cookie属性
s.cookies

中找到cookie。在正常情况下,我建议您采取机械化的方式,让事情对您自己来说太容易了,但既然您坚持请求,那么让我们使用它。 显然,您的值是正确的,但我个人不使用auth()函数。所以,试试这个

import requests

url = 'https://example.com/wiki/index.php?title=Special:UserLogin'
values = {
    'wpName': 'myc00lusername',
    'wpPassword': 'Myl33tPassw0rd12'
}

session = requests.session()
r = session.post(url, data=values)
print r.cookies

这就是我用来解决这个问题的方法。 成功登录后,我阅读了 response.text 并将它与我提交错误信息时得到的文本进行了比较。 我这样做的原因是验证是在服务器端完成的,无论成功与否,请求都将得到200 OK响应。 所以我最后加了这一行

logged_in = True if("Incorrect Email or password" in session.text) else False

看起来请求不起作用,因为cookie jar是空的。。。。。如果您知道,Mediawiki页面的设计是否使您无法使用请求模块手动登录,或者我的代码是否存在问题?