Я использую curl для тестирования одной из моих форм Django. Вызовы, которые я пробовал (с ошибками в каждом и в нескольких строках для удобства чтения):
(1 ):
curl
-d "{\"email\":\"test@test.com\"}"
--header "X-CSRFToken: [triple checked value from the source code of a page I already loaded from my Django app]"
--cookie "csrftoken=[same csrf value as above]"
http://127.0.0.1:8083/registrations/register/
(с заголовком http и csrftoken
в файле cookie) приводит к ошибке 400 без возврата данных
(2):
curl
-d "{a:1}"
--header "X-CSRFToken:[as above]"
--cookie "csrftoken=[as above];sessionid=[from header inspection in Chrome]"
http://127.0.0.1:8083/registrations/register/
(как в (1), но без пробелов в объявление свойства заголовка, а также sessionid
в файле cookie) приводит к той же ошибке 400 без возврата данных
(3):
curl
-d "{a:1}"
--header "X-CSRFToken:[as above]"
http://127.0.0.1:8083/registrations/register/
(только http-заголовок с X-CSRFToken
, без файла cookie) приводит к ошибке с кодом 403 и сообщением: Файл cookie CSRF не установлен.
Как проверить свою форму с помощью curl? Какие факторы я не учитываю, кроме значений файлов cookie и http-заголовков?