繁体   English   中英

Laravel 419 错误通过 POSTMAN POST 请求

[英]Laravel 419 error on POST request via POSTMAN

我正在尝试通过 POSTMAN 应用程序向运行 Laravel 5.6 的 API 发送 POST 请求。

我的路线如下:

Route::post('/charge','Charge@index');

并且 Charge 和 index 函数只是 var_dumps post 参数:

class Charge extends Controller
{
    public function index()
    {
        var_dump($_POST);
    }

}

我得到的响应是 419 未知状态错误。 我不知道问题是什么。

我不确定此处要包含哪些其他信息,但请询问是否需要其他任何信息来帮助解决此问题。

谢谢,J

这可能是因为您没有将 csrf 令牌与表单数据一起发送。

在 laravel 中,每次请求都必须发送 csrf 令牌。

如果您不想发送,请在app/http/middleware/VerifyCsrfToken.php文件中提及您的方法名称。

<?php

namespace App\Http\Middleware;

use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as Middleware;

class VerifyCsrfToken extends Middleware
{

    protected $addHttpCookie = true;

   protected $except = [
    'auth/facebook/callback',
    'auth/google/callback',
];
}

如果在标题上使用邮递员添加

(核心价值)
X-CSRF-TOKEN yvthwsztyeQkAPzeQ5gHgTvlyxHfsAfE

您可以通过添加找到 VALUE

public function index()
{
    return csrf_token(); 
}

并在您的路线名称上发送 GET 然后您将获得 csrf 的价值

我遇到了同样的问题,我发现的唯一解决方案是从 csrf 验证文件中删除那个确切的 url,该文件名为VerifyCsrfToken.php ,位于

app\\Http\\Middleware\\VerifyCsrfToken.php

打开该文件后,您只需将您正在执行发布请求的确切 url 放入except变量中,如下所示:

<?php

namespace App\Http\Middleware;

use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as Middleware;

class VerifyCsrfToken extends Middleware
{
    /**
     * The URIs that should be excluded from CSRF verification.
     *
     * @var array
     */
    protected $except = [
        //
        'http://localhost/api2/public/user' //This is the url that I dont want Csrf for postman.
    ];
}

之后,我可以从邮递员那里完成我的邮寄请求。

PD:这是针对开发环境的,我想您最终将不得不撤消此操作,因此,如果我错了,有人会纠正我。

我正在从 POSTMAN 发出获取请求并面临 419 错误。 但是,万一您在发出GET请求并面临状态419时仍然想知道如何找到csrf令牌。 就我而言,我通过在标题中添加user-agent: xxxx令牌解决了这个问题。

例子:

user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36

你需要在你发送的请求中提供 CSRF 令牌,在这种情况下你需要一个 CSRF 令牌。

在 web.php 上生成 CSRF 令牌

    Route::get('/token', function () {
        return csrf_token(); 
    });

使用令牌发送请求 | PUT FOLLOWING ON HEADERS |每个请求都应该更改令牌

(KEY)           (VALUE)
X-CSRF-TOKEN    MGpzhSLdVWdB7ddQSR8B6iu3A89A6LW7UPT0zmO2

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM