Я являюсь модератором на форуме Discourse и хочу написать программу на Python, которая будет клонировать куки сессии из браузера и выполнять простое действие пользователя, например, лайкать пост. Мне удалось успешно клонировать сессию, и я смог использовать GET-запросы для получения любой страницы, даже закрытых категорий (так что я знаю, что сессия успешно клонирована), но когда я попытался просто лайкнуть пост с помощью POST-запроса, получил ошибку «Bad CSRF». При расследовании я заметил, что в запросе не генерировался CSRF-токен. Я хочу узнать, почему CSRF-токены генерируются в браузере, но не в этой клонированной сессии. Есть ли способ получить CSRF-токен для запроса? Мой простой код приведен ниже.
import requests
import browsercookie
cj = browsercookie.firefox()
r = requests.post("https://somediscoursesite.com/post_actions", data={'id':'theid','post_action_type_id':'2','flag_topic':'false'}, cookies=cj)
print(r.status_code)
print(r.request.headers)