【发布时间】:2015-10-28 02:12:36
【问题描述】:
我正在尝试使用 curl 使用命令行发布数据。
curl -v POST -d ' { "data1": "sample1", "data2": "sample2" } ' -H "Content-Type: application/json" -H "Authorization: BASIC vkslnkg561mZEqCq3l3RglAOAZ7d8XBeg2VjIAyC" http://localhost/Bowling/public/api/foo
当我尝试从 POSTMAN 发帖时,我会取回数据。但是当我使用 curl 时,我会收到 500 Internal Server Error。
我的路由.php
Route::any('api/foo', function () {
return json_encode("Some Data");
});
请问我的 curl 语句有问题还是我需要在 Laravel 中修复一些身份验证问题。
我什至尝试过
curl -X POST -H "Content-Type: application/json" -d '{"key":"val"}' -H "Authorization: BASIC 0xD8BC2CLksEMh1ScRdG8dWanCDazYiQsGL7sYnl" http://localhost/Bowling/public/api/foo
【问题讨论】:
-
您是否查看了日志以了解为什么会收到 500 错误?
-
嘿,詹姆斯,它说 local.ERROR: exception 'Illuminate\Session\TokenMismatchException' in G:\wamp\www\Bowling\vendor\compiled.php:2440 但我得到了具有相同标记的输出对于 curl -v -H "Content-Type: application/json" -H "Authorization: BASIC 0xD8BC2CLksEMh1ScRdG8dWanCDazYiQsGL7sYnl" localhost/Bowling/public/api/leagues
-
如果我在 app/Http/Kernel.php 中删除 'App\Http\Middleware\VerifyCsrfToken',那么它可以工作。但我需要通过身份验证令牌。
-
如何确保为 CSRF 令牌传递的令牌始终正确,因为它会为每个会话生成一个?
-
它每次都会改变,但这是分配给我的一种任务,我必须使用 CSRF 令牌进行身份验证。我正在考虑一种解决方案,从标头中发送的内容中读取 CSRF 令牌并进行验证。