我将发送请求发送到用php / laravel编写的API路由,
(从laravel doc查看csrf-protecion)
迅速
let request = URLRequest(url: URL(string: "http://my.api/post")!)
request.httpMethod = "POST"
request.setValue("Ag1D3YC6DbxuwYNgwUhmNoVkfFnchlrPXQB4rR11", forHTTPHeaderField: "X-CSRF-TOKEN")
let postString = "id=13&name=Jack"
request.httpBody = postString.data(using: .utf8)
URLSession.shared.dataTask(with: request as URLRequest) { data, response, error in
guard let data = data, error == nil else {
// check for fundamental networking error
print("error=\(error)")
return
}
let responseString = String(data: data, encoding: .utf8)
print("responseString = \(responseString)")
}.resume()
的PHP / laravel
// route.php
Route::post('post', 'PostController@post');
Route::get('token', function() {
return csrf_token(); // this is how I get token for request header
});
// PostController.php
public function post(Request $request)
{
return $request->all();
}
我在Swift代码中一直收到TokenMismatchException
错误,而我可以通过Postman应用程序成功发布,
任何想法?