403 Ответ, когда я использую запросы для создания почтового запроса

Мой основной код выглядит следующим образом:

import requests
url='https://www.xxxx.top'  #for example
data=dict()
session = requests.session()
session.get(url)
token = session.cookies.get('csrftoken')
data['csrfmiddlewaretoken'] = token
res = session.post(url=url, data=data, headers=session.headers, cookies=session.cookies)
print(res)
# <Response [403]>

Переменная url - это мой собственный сайт, который основан на Django. Я знаю, что могу использовать @csrf_exempt для отключения CSRF, но я не хочу этого делать.
Однако, он возвращает ответ 403, когда я использую requests, чтобы сделать запрос на пост. Я бы хотел, чтобы кто-нибудь мог сказать мне, что не так с моим подходом.

Я решил эту проблему. В этом случае просто добавьте Referer к заголовкам

import requests
url='https://www.xxxx.top'  #for example
data=dict()
session = requests.session()
session.headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) '
                'Chrome/51.0.2704.63 Safari/537.36','Referer':self.url}
session.get(url)
token = session.cookies.get('csrftoken')
data['csrfmiddlewaretoken'] = token
res = session.post(url=url, data=data, headers=session.headers, cookies=session.cookies)
print(res)
Вернуться на верх