我正在尝试使用JSON
从URL
检索curl
,但是它从该URL返回空数据
$curl =curl_init('https://www.bloomberg.com/markets/api/security/currency/cross-rates/PKR,USD,AED,GBP,SAR,AUD,CAD,EUR,BHD,CHF,CNY,DKK,HKD,INR,JPY,KWD,MYR,NOK,NZD,OMR,QAR,SEK,THB');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
$page = curl_exec($curl);
print_r($page)
非常感谢。
答案 0 :(得分:0)
尝试使用file_get_contents
:
$jsonString = file_get_contents('https://www.bloomberg.com/markets/api/security/currency/cross-rates/PKR,USD,AED,GBP,SAR,AUD,CAD,EUR,BHD,CHF,CNY,DKK,HKD,INR,JPY,KWD,MYR,NOK,NZD,OMR,QAR,SEK,THB');
$jsonArray = json_decode($jsonString, true);
答案 1 :(得分:0)
您的php / libcurl被阻止以某种方式访问互联网。启用CURLOPT_VERBOSE,记录VERBOSE日志,并与您的本地sysadmin一起使用,这可能是他的工作(可能是防火墙或iptables规则或不允许php Internet访问的东西?也许是错误配置的dns服务器?您的sysadmin应该知道。)添加此内容获取详细记录:
curl_setopt($curl,CURLOPT_VERBOSE,1);
curl_setopt($curl,CURLOPT_STDERR,fopen("php://output","wb"));
答案 2 :(得分:0)
尝试以下代码:
$ch = curl_init();
$data_string = json_encode($data); // OR $data_string = http_build_query($data);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec($ch);
curl_close($ch);