python-3.x 无法使用请求模块登录网站

gpfsuwkq  于 2023-01-27  发布在  Python
关注(0)|答案(1)|浏览(135)

我尝试通过我用requests模块创建的python脚本登录website,我向服务器发出了一个带有适当参数和头的post HTTP请求,但是由于某种原因,我从那个站点得到的响应与我在dev tools中看到的不同,状态总是200,脚本中还有一个get请求,它应该在登录成功后获取凭据。目前,它在最后一行抛出JSONDecodeError

import requests

link = 'https://propwire.com/login'
check_url = 'https://propwire.com/search'

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36',
    'x-requested-with': 'XMLHttpRequest',
    'referer': 'https://propwire.com/login',
    'accept-encoding': 'gzip, deflate, br',
    'accept-language': 'en-US,en;q=0.9,bn;q=0.8',
    'origin': 'https://propwire.com',          
}
payload = {"email":"some-email","password":"password","remember":"true"}

with requests.Session() as s:
    r = s.get(link)
    headers['x-xsrf-token'] = r.cookies['XSRF-TOKEN'].rstrip('%3D')
    s.headers.update(headers)
    s.post(link,json=payload)
    res = s.get(check_url)
    print(res.json()['props']['auth'])
e0bqpujr

e0bqpujr1#

根据您收到的回复,某些回复无法解码。不适用于您,但作为示例:如果您删除了一些内容并得到一个204响应,那么它不能被JSON解码。

相关问题