使用Python请求时无法将CSRF令牌传递到表单中

2024-10-04 05:26:26 发布

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

我正在尝试创建一个python(3.7)代码,它将在https://bingosync.com/处创建一个新房间。在

以下是我目前为止的代码:

import requests

with open('bingosync.txt', 'r') as myfile:
  jsonstring = myfile.read()

url = "https://bingosync.com/"

csrfToken = requests.Session().get(url).cookies['csrftoken']

params = {'csrfmiddlewaretoken': csrfToken, 'room_name' : 'test', 'passphrase' : 'test123', 'nickname' : 'testcode', 'game_type' : '18', 'custom_json' : jsonstring  }
headers = {'x-csrftoken': csrfToken}

r = requests.Session().post(url, data = params, headers = headers)

print(r.content)

我的问题是,我从请求中得到了403,因为CSRF令牌无效/丢失

据我所知,我需要将令牌放入头中,但是如果我输入,这并不重要

^{pr2}$

或者

'csrfmiddlewaretoken' : csrfToken

除了403,它什么也不会还给我。在


Tags: 代码httpscomurlsessionparamsmyfilerequests