【发布时间】:2020-01-27 01:22:03
【问题描述】:
我正在尝试使用 Guzzle 从模型向我的routes/web.php 中定义的路由发送 POST 请求。模型和控制器都定义在同一个 Laravel 应用程序中。链接到路由的控制器操作返回 JSON 响应,并且在使用 Ajax 从 javascript 调用时可以正常工作。但是,当我尝试使用 Guzzle 执行此操作时,出现以下错误:
GuzzleHttp \ Exception \ ClientException (419)
Client error: `POST https://dev.application.com/login` resulted in a `419 unknown status` response
在寻找解决方案时,我读到它可能是由于缺少 csrf 令牌引起的,所以我将它添加到我的请求中,但我仍然得到同样的错误。
这是使用 Guzzle 发送请求的模型代码:
$client = new Client();
$response = $client->post(APPLICATION_URL.'login', [
'headers' => [
'X-CSRF-Token' => csrf_token()
],
'form_params' => [
'socialNetwork' => 'L',
'id_token' => $id
],
]);
APPLICATION_URL 只是应用程序的基本 URL,以 https:// 开头。
我错过了什么吗?提前致谢!
【问题讨论】:
标签: php laravel laravel-5.6 guzzle