我有一个与GET协议配合使用的API。
我现在正在尝试使用POST,但无法访问它。
使用Vagrant SSH或测试站点,它会被拒绝:
me@myuser:~$ curl -X POST -v http://127.0.0.1:8080/api/xml/
* Trying 127.0.0.1...
* Connected to 127.0.0.1 (127.0.0.1) port 8080 (#0)
> POST /api/xml/ HTTP/1.1
> Host: 127.0.0.1:8080
> User-Agent: curl/7.47.0
> Accept: */*
>
< HTTP/1.1 301 Moved Permanently
< Date: Wed, 09 Jan 2019 09:50:46 GMT
< Server: Apache/2.4.25 (Debian)
< Location: http://127.0.0.1:8080/api/xml
< Content-Length: 322
< Content-Type: text/html; charset=iso-8859-1
<
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="http://127.0.0.1:8080/api/xml">here</a>.</p>
<hr>
<address>Apache/2.4.25 (Debian) Server at 127.0.0.1 Port 8080</address>
</body></html>
* Connection #0 to host 127.0.0.1 left intact
直接在外面做,就会得到这个答案:
{{1}}
应用程序的其余部分都可以正常工作,包括AJAX或使用POST的表单,但尤其是此请愿书被拒绝。
有帮助吗?
答案 0 :(得分:2)
正在使用CSRF令牌验证每个POST / PATCH / PUT / DELETE请求。因此,您可以在请求中传递令牌,也可以在Http/Kernel.php
文件中将\App\Http\Middleware\VerifyCsrfToken::class,
数组中的$middlewareGroups
注释掉以便进行测试。