如何使用Postman for Laravel $ _POST请求

时间:2016-02-01 18:32:31

标签: laravel postman

如何使用Postman向Laravel应用发送帖子请求?

通常,Laravel有一个csrf_token,我们必须通过POST / PUT请求传递。如何在Postman中获取和发送此值?是否可以而不关闭 CSRF保护?

5 个答案:

答案 0 :(得分:23)

编辑:

等等,我误解了这个问题。您想在不关闭CSRF保护的情况下这样做吗?就像Bharat Geleda所说的那样:你可以创建一个只返回令牌的路线,然后在邮递员的_token字段中手动复制它。

但我建议您从下面的CSRF保护中排除您的api调用,并稍后添加某种API身份验证。

您正在运行哪个版本的laravel?

Laravel 5.2及以上版本:

从5.2开始,只有具有web中间件的路由才需要CSRF令牌。因此,使用web中间件将您的api路由放在组外。

参见"默认路由文件"在documentation标题以获取更多信息。

Laravel 5.1和5.2:

您可以在VerifyCsrfToken中间件中排除不应具有CSRF保护的路由,如下所示:

class VerifyCsrfToken extends BaseVerifier
{
    /**
     * The URIs that should be excluded from CSRF verification.
     *
     * @var array
     */
    protected $except = [
        'api/*',
    ];
}

请参阅"从CSRF保护中排除URI"标题为documentation以获取更多信息。

答案 1 :(得分:6)

如果您将会话存储在Cookie中,则可以从开发人员工具中的身份验证请求中获取Cookie。

enter image description here

将Cookie复制并粘贴到POSTMAN或Paw请求的标头中。

enter image description here

此方法允许您将API测试限制为当前会话。

答案 2 :(得分:1)

在标头中,在发出请求之前,添加Cookie,XSRF-TOKEN cookie和应用程序cookie。即yourappname_session

答案 3 :(得分:0)

1.您可以使用您的控制器在下面的功能的帮助下创建一个新的路线来显示csrf令牌。 (在路线上使用获取请求)

   public function showToken {
      echo csrf_token(); 

    }

2.在邮递员上选择“正文”选项卡,然后选择x-www-form-urlencoded 3.复制令牌并粘贴邮递员作为名为_token的键的值 4.在您的URL /端点上执行您的发布请求

答案 4 :(得分:-3)

在laravel中,5.3。转到app/Http/Kernel.php查找middlewareGroups,然后评论VerifyCsrfToken。因为它在为您的请求提供服务之前执行所有中间件。

protected $middlewareGroups = [
            'web' => [
                \App\Http\Middleware\EncryptCookies::class,
                \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
                \Illuminate\Session\Middleware\StartSession::class,
                \Illuminate\View\Middleware\ShareErrorsFromSession::class,
               ***// \App\Http\Middleware\VerifyCsrfToken::class,***
                \Illuminate\Routing\Middleware\SubstituteBindings::class,
            ],

            'api' => [
                'throttle:60,1',
                'bindings',
            ],
        ];