$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
消息。
答案 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;