$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
消息。
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(( 你 curl 命令。
例:
$output = exec('curl http://localhost/api/11122233A');
echo $output;