php – 你可以在Guzzle POST Body中包含原始JSON吗?

这应该是太简单了,但我花了几个小时寻找答案,我真的被卡住了.我正在构建一个基本的Laravel应用程序,并且正在使用Guzzle来替换我目前正在制作的CURL请求.所有CURL函数都使用正文中的原始 JSON变量.

我正在尝试创建一个正常工作的Guzzle客户端,但服务器正在使用“无效请求”进行重新计算,我只是想知道我发布的JSON是否有些可疑.我开始怀疑你是否不能在Guzzle POST请求体中使用原始JSON?我知道标头正在工作,因为我从服务器收到有效的响应,我知道JSON是有效的,因为它当前在CURL请求中工作.所以我卡住了:-(

任何帮助都会非常感激.

$headers = array(
            'NETOAPI_KEY' => env('NETO_API_KEY'),'Content-Type' => 'application/json','Accept' => 'application/json','NETOAPI_ACTION' => 'GetOrder'
        );

    // JSON Data for API post
    $GetOrder = '{
        "Filter": {
            "OrderID": "N10139","OutputSelector": [
                    "OrderStatus"
                ]
        }
    }';

    $client = new client();
    $res = $client->post(env('NETO_API_URL'),[ 'headers' => $headers ],[ 'body' => $GetOrder ]);

    return $res->getBody();
您可以通过 'json' request option将常规数组作为JSON发送;这也会自动设置正确的标题
$headers = [
    'NETOAPI_KEY' => env('NETO_API_KEY'),'NETOAPI_ACTION' => 'GetOrder'
];

$GetOrder = [
    'Filter' => [
        'OrderID' => 'N10139','OutputSelector' => ['OrderStatus'],],];

$client = new client();
$res = $client->post(env('NETO_API_URL'),[
    'headers' => $headers,'json' => $GetOrder,]);

相关文章

Hessian开源的远程通讯,采用二进制 RPC的协议,基于 HTTP 传输。可以实现PHP调用Java,Python,C#等多语...
初识Mongodb的一些总结,在Mac Os X下真实搭建mongodb环境,以及分享个Mongodb管理工具,学习期间一些总结...
边看边操作,这样才能记得牢,实践是检验真理的唯一标准.光看不练假把式,光练不看傻把式,边看边练真把式....
在php中,结果输出一共有两种方式:echo和print,下面将对两种方式做一个比较。 echo与print的区别: (...
在安装好wampServer后,一直没有使用phpMyAdmin,今天用了一下,phpMyAdmin显示错误:The mbstring exte...
变量是用于存储数据的容器,与代数相似,可以给变量赋予某个确定的值(例如:$x=3)或者是赋予其它的变...