我尝试通过我用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'])
1条答案
按热度按时间e0bqpujr1#
根据您收到的回复,某些回复无法解码。不适用于您,但作为示例:如果您删除了一些内容并得到一个204响应,那么它不能被JSON解码。