【问题标题】:Make a valid request to Dingo API with guzzle (laravel 5.1)使用 guzzle 向 Dingo API 发出有效请求(laravel 5.1)
【发布时间】:2018-08-28 14:58:19
【问题描述】:

我创建了一个 API,当我使用 POSTMAN 测试 API 时一切正常,但是当我尝试发出请求时:

$client2 = new GuzzleHttp\Client(['verify' => false ]);

$res3 = $client3->get('https://app.EXAMPLE.com/api/update/'.$serial, [
    'headers' => [
        'Authorization' => 'Bearer '.$token,
    ],
    'form_params' => [

        'token' => $token,
        'bookingdate' => '07/07/2018 12:00 am',
        'notes' => $SpecialRequests
        ]
]);

我得到的 API:

CurlFactory.php 第 187 行中的 RequestException:cURL 错误 18:传输 关闭时剩余未完成的读取数据(请参阅 http://curl.haxx.se/libcurl/c/libcurl-errors.html)

这里有什么问题?在 Postman 中工作正常,但来自我的应用程序的请求不起作用

【问题讨论】:

    标签: laravel api curl guzzle dingo-api


    【解决方案1】:

    您正在使用带有form_params 的GET。这是设计错误的(您不能使用 GET 发送任何数据,只能使用 POST/PUT)。

    所以我很确定这就是原因。更改为 POST 或远程从请求中获取数据。

    【讨论】:

    • 我尝试使用 POST,但出现错误:数据:调试:{行:113,文件:“/home/perica/public_html/vendor/dingo/api/src/Auth/Auth.php” ,类:“Symfony\Component\HttpKernel\Exception\UnauthorizedHttpException”,跟踪:Array(47)} 消息:“由于凭据错误或授权标头无效而无法进行身份验证。”状态码:401
    • 对不起,我不知道你的后端服务器,它想要什么身份验证。内部错误来自那里。
    猜你喜欢
    • 2016-03-07
    • 2017-12-25
    • 2015-06-03
    • 1970-01-01
    • 2018-06-17
    • 2018-01-21
    • 2020-07-14
    • 1970-01-01
    • 2015-09-10
    相关资源
    最近更新 更多