如何使用Postman向Laravel应用发送帖子请求?
通常,Laravel有一个csrf_token
,我们必须通过POST / PUT请求传递。如何在Postman中获取和发送此值?是否可以而不关闭 CSRF保护?
答案 0 :(得分:23)
_token
字段中手动复制它。
但我建议您从下面的CSRF保护中排除您的api调用,并稍后添加某种API身份验证。
您正在运行哪个版本的laravel?
从5.2开始,只有具有web
中间件的路由才需要CSRF令牌。因此,使用web
中间件将您的api路由放在组外。
参见"默认路由文件"在documentation标题以获取更多信息。
您可以在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)
答案 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',
],
];