如何使用Python中的session.get请求发回XSRFtoken?

2024-09-30 06:31:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图在一个网站上搜索“阿德里安”这个词。我已经了解到,首先我必须向网站发送一个请求,在响应中,我将有一个XSRF令牌,用于第二个请求。据我所知,如果我使用的是session.get(),它也会为第二个请求自动保存cookies。我运行第一个请求,得到200个响应,打印出cookies,令牌就在那里。我运行第二个请求,返回400错误,但是如果我打印出第二个请求的头,令牌就在那里。我不知道哪里出了问题。为什么我第二次能拿到400

import requests  
session = requests.Session()

response = session.get('https://www.racebets.com/en/horse-racing/formguide') 
print(response)  
cookies = session.cookies.get_dict()  
print(cookies) 
XSRFtoken = cookies['XSRF-TOKEN']  
print(XSRFtoken)

response = session.get('https://www.racebets.com/ajax/formguide/search?s=Adrian') 
print(response)  
print(response.request.headers)

我还尝试跳过会话,在第二个请求中使用requests.get(),并自己将令牌添加到头中,但结果相同:

import requests 
session = requests.Session()
 
response = session.get('https://www.racebets.com/en/horse-racing/formguide')
print(response) 
cookies = session.cookies.get_dict() 
print(cookies)
XSRFtoken = cookies['XSRF-TOKEN'] 
print(XSRFtoken)
 
headers = {'XSRF-TOKEN': XSRFtoken} 
response = session.get('https://www.racebets.com/ajax/formguide/search?s=Adrian', headers=headers)
print(response) 
print(response.request.headers)

Tags: httpscomtokengetresponsesessionwwwrequests

热门问题