使用PHP cURL获取JSON数据

时间:2016-09-21 15:19:10

标签: php json curl

我有一个输出一些JSON的简单脚本。我正在尝试使用另一个PHP脚本检索变量中的JSON内容,但是当我执行var_dump()时,我得到NULL而不是JSON数据。

这是JSON。唯一的输出是:{"ProductID":"1000096","ProductStyleID":"1001029","ProductCategoryID":"1000004"}

json.php

$arr['ProductID'] = "1000096";
$arr['ProductStyleID'] = "1001029";
$arr['ProductCategoryID'] = "1000004";

$json_arr = json_encode($arr);
echo $json_arr;

这是cURL脚本,现在输出NULL:

curl.php

$curl = curl_init();
curl_setopt ($curl, CURLOPT_URL, "/json.php");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

$result = curl_exec ($curl);
curl_close ($curl);
var_dump(json_decode($result, true));

如何检索json.php脚本中回显的JSON?

2 个答案:

答案 0 :(得分:3)

如果您看到基本的CURL示例: - http://php.net/manual/en/curl.examples-basic.php

你知道这不是: -

"/json.php"

你需要提供完整的路径,如: -

http://..。)或(https://..。)为您的文件(基于您的服务器)

注意: - 其余的代码似乎完全正常。谢谢

答案 1 :(得分:0)

这是获取数据的网址: -

$url="https://.../api.php?action";

使用cURL:

//  Initiate curl
$cuh = curl_init();
// Disable SSL verification
curl_setopt($cuh, CURLOPT_SSL_VERIFYPEER, false);
// Will return the response, if false it print the response
curl_setopt($cuh, CURLOPT_RETURNTRANSFER, true);
// Set the url
curl_setopt($cuh, CURLOPT_URL,$url);
// Execute
$result=curl_exec($cuh);
// Closing
curl_close($cuh);

// Will dump a beauty json :3
var_dump(json_decode($result, true));