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

时间:2015-01-30 16:40:34

标签: php json laravel curl

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

将返回此JSON列表:

enter image description here

我已经通过测试:

  • 通过浏览器导航至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);一样。

enter image description here

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

1 个答案:

答案 0 :(得分:3)

发现差异:

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

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