Я использую django-reat-framework как бэкэнд и используя SessionAuthentication и TokenAuthentication. Эта работа хорошо, когда я использую httpie Послать запросCSRF Сбой при использовании данных POST с использованием Alamofire
http POST http://127.0.0.1:8000/api/users/ email="[email protected]" user_name="abc" passwod="1234"
, но когда я использую Alamofire
Alamofire.request(.POST, "http://127.0.0.1:8000/api/users/", parameters: ["email": emailField.text!, "user_name": usernameField.text!, "password": passwordField.text!], encoding: .URL)
.responseJSON { response in
print(response.request) // original URL request
print(response.response) // URL response
print(response.data) // server data
print(response.result)
if let JSON = response.result.value {
print("JSON: \(JSON)")
}
}
возвращение этого
Optional(<NSMutableURLRequest: 0x7fe24e15d640> { URL: http://127.0.0.1:8000/api/users/ })
Optional(<NSHTTPURLResponse: 0x7fe24bf3a080> { URL: http://127.0.0.1:8000/api/users/ } { status code: 403, headers {
Allow = "GET, POST, HEAD, OPTIONS";
"Content-Type" = "application/json";
Date = "Fri, 11 Mar 2016 13:09:59 GMT";
Server = "WSGIServer/0.2 CPython/3.4.3";
Vary = "Accept, Cookie";
"X-Frame-Options" = SAMEORIGIN;
} })
Optional(<7b226465 7461696c 223a2243 53524620 4661696c 65643a20 43535246 20746f6b 656e206d 69737369 6e67206f 7220696e 636f7272 6563742e 227d>)
SUCCESS
JSON: {
detail = "CSRF Failed: CSRF token missing or incorrect.";
}
Но 127.0.0.1:8000/api/users/не нужно никакого разрешения, и я не отправил токен csrf, когда я использую httpie.So, что здесь не так?
Можете ли вы предоставить свое решение для создания маркеров? – Domsware