Извлечение JSON из URL с помощью curl - PullRequest
0 голосов
/ 09 октября 2018

Я пытаюсь получить 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)

Большое спасибо заранее.

Ответы [ 3 ]

0 голосов
/ 10 октября 2018

ваш php / libcurl заблокирован от какого-либо доступа к сетям.включите CURLOPT_VERBOSE, запишите журнал VERBOSE и обратитесь к своему локальному сисадмину, это, вероятно, он делает (возможно, правила брандмауэра или iptables или что-то запрещающее доступ к php в интернет - возможно, неправильно настроенный DNS-сервер - ваш системный администратор должен знать это). Добавьте этополучить журнал VERBOSE:

curl_setopt($curl,CURLOPT_VERBOSE,1);
curl_setopt($curl,CURLOPT_STDERR,fopen("php://output","wb"));
0 голосов
/ 10 октября 2018

Попробуйте этот код:

    $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);
0 голосов
/ 09 октября 2018

попробуйте использовать 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...