[英]Unable to log into website using requests.post despite matching network form data
我无法使用请求登录网站并获取帐户后面的 API 数据。 请求有效负载数据与用于正常登录的表单数据相匹配。
我的代码如下:
urlpage = 'https://speechanddebate.org/login'
header = {'User-Agent': 'Chrome/84.0.4147.89'}
payload = {'log': "email@gmail.com",
'pwd': "password",
'wp-submit': 'Log In',
'rememberme': 'forever',
'redirect_to': '/account',
'testcookie': '1'}
session = requests.Session()
test = session.post(urlpage, headers = header, data = payload)
当我正常登录而不是通过网络抓取时,我使用检查元素来查找通过 POST 发送的数据,当我在网络下检查时它给出了这个结果:
与其他 StackOverFlow 答案相比,我不确定我在做什么不同。 这是我尝试进行的代码修改列表:
with requests.Session() as session:
阻止而不是仅session = requests.Session()
当我正常登录时,我得到状态码 302,表示登录成功,我已被转移到另一个 web 页面。 但是,当我通过网络抓取进行操作时,它无法登录并返回状态码 200 并将其返回到登录页面。
尝试
headers = {
'authority': 'www.speechanddebate.org',
'cache-control': 'max-age=0',
'upgrade-insecure-requests': '1',
'origin': 'https://www.speechanddebate.org',
'content-type': 'application/x-www-form-urlencoded',
'user-agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Mobile Safari/537.36',
'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
'sec-fetch-site': 'same-origin',
'sec-fetch-mode': 'navigate',
'sec-fetch-user': '?1',
'sec-fetch-dest': 'document',
'referer': 'https://www.speechanddebate.org/login/',
'accept-language': 'en-US,en;q=0.9',
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.