我有两个网站(都是我的),我正在测试 Guzzle。
我正在尝试提交搜索表单。此搜索表单具有标准 Laravel CSRF 令牌隐藏字段,自动生成“_token”。
使用 gotte 提交字段时,会出现错误。检查我在网站上的日志,我可以看到它是 Laravel “TokenMismatchException”
我是否需要在 goutte 中做一些特别的事情以确保它发布自动生成的“_token”隐藏字段?
从 Laravel 5.1 开始,app/Http/Middleware/VerifyCsrfToken.php
您可以通过将相关路由添加到$except
数组来禁用 CSRF 保护。像这样:
protected $except = [
'/api/v1/list', //This route won't have CSRF protection
];
您需要为该路由禁用 CSRF 保护。
将此代码添加到方法app/Http/Middleware/VerifyCsrfToken.php
的开头handle()
:
$openRoutes = ['free/route', 'free/too'];
foreach($openRoutes as $route) {
if ($request->is($route)) {
return $next($request);
}
}