У меня есть API, который отлично работает с протоколом GET.
Я пытаюсь использовать POST, но не могу получить к нему доступ.
Используя Vagrant SSH или тестовый сайт, он отклоняется:
vagrant@smyprojectt:~$ curl -X POST -v http://127.0.0.1:8080/api/xml/
* Trying 127.0.0.1...
* TCP_NODELAY set
* connect to 127.0.0.1 port 8080 failed: Connection refused
* Failed to connect to 127.0.0.1 port 8080: Connection refused
* Closing connection 0
curl: (7) Failed to connect to 127.0.0.1 port 8080: Connection refused
То, что я делаю это напрямую, находясь на улице, дает мне такой ответ:
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
Остальная часть приложения работает нормально, включая AJAX или формы, использующие POST, но эта петиция, в частности, отклоняется.
Любая помощь?






Каждый запрос POST / PATCH / PUT / DELETE проверяется с помощью токена CSRF. Таким образом, вы либо передаете токен в своем запросе, либо в своем файле Http/Kernel.php закомментируете \App\Http\Middleware\VerifyCsrfToken::class, в массиве $middlewareGroups для проверки.