如何发送 JSON 并使用 cURL 检索它?

Posted

技术标签:

【中文标题】如何发送 JSON 并使用 cURL 检索它?【英文标题】:How to send JSON and retrieve it using cURL? 【发布时间】:2015-03-30 04:52:21 【问题描述】:

此链接 = http://localhost/api_v2/url?key=***

将返回此 JSON 列表:

我已经测试过:

通过浏览器导航到http://localhost/api_v2/url?key=*** 并通过命令行$ curl http://localhost/api_v2/url?key=*** 发出 curl 请求 无论哪种方式都会返回 JSON,并给我相同的结果。 嗯,我可以看出我的$array 正在其中存储一些东西。 即使我做了dd($array) - 我仍然得到相同的结果。

这就是我所拥有的


这是我建立 JSON 的方法

public function index_2()

    $file_name = 'inventory.csv';
    $file_path = 'C:\\QuickBooks\\'.$file_name;
    $csv= file_get_contents($file_path);
    $utf8_csv = utf8_encode($csv);
    $array = array_map("str_getcsv", explode("\n", $utf8_csv));

    return Response::json($array);



这是我提出 cURL 请求并尝试检索该 JSON 的方式

<?php 

    $ch = curl_init("http://localhost/api_v2/url?key=***");
    curl_setopt($ch, CURLOPT_USERPWD, "admin:*****");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $body = curl_exec($ch);
    curl_close($ch);

    $json_decode = json_decode($array, TRUE);

我一直抱怨 $array 变量没有定义,但实际上我确实定义并发送它像这样return Response::json($array);

我不确定我在这里做错了什么。

【问题讨论】:

json_decode($body) 怎么样? 成功了!!你说得对。谢谢@lukasgeiter 【参考方案1】:

找出不同之处:

$body = curl_exec($ch);
^^^^^

$json_decode = json_decode($array, TRUE);
                           ^^^^^^

【讨论】:

以上是关于如何发送 JSON 并使用 cURL 检索它?的主要内容,如果未能解决你的问题,请参考以下文章

使用 PHP Curl 发布数据并检索响应?

如何从 mysql 数据库中检索行并通过 Express.js 将它们作为 JSON 发送?

将从 spring-boot 检索到的数据转换为 JSON 并在 Angular 前端获取它

如何使用 PHP cURL 检索验证码并保存会话?

如何在javascript中发送和检索json中的十进制值?

在 Python 中检索 JSON 以响应 POST