curl追加"资源ID#2"到输出

时间:2015-11-28 20:22:37

标签: php curl

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "http://localhost/api/11122233A");
curl_exec($curl);
curl_close($curl);
echo $curl;

当我手动访问URL时,API返回JSON,但是使用curl,输出就像{json things}Resource id #2。为什么呢?

我正在阅读几个类似的问题,但我的情况有所不同,因为我实际上是在获取数据,而不仅仅是Resource id #2消息。

1 个答案:

答案 0 :(得分:3)

curl_init()会返回resource(请参阅http://php.net/manual/en/function.curl-init.php

因此echo $curl;echo curl_init();会为您提供类似Resource id #2的内容。

你可能正在寻找这样的东西:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://localhost/api/11122233A");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
curl_close($ch);   
echo $output;   

有关详细信息,请参阅http://php.net/manual/en/function.curl-exec.php

正如您所说,curl通过命令行为您工作(即$ curl ...),为您提供了一种解决方法。只需exec()你卷曲命令。

示例:

$output = exec('curl http://localhost/api/11122233A');
echo $output;