У меня есть Rest api, доступ к которому я могу получить по этому URL: « http://127.0.0.1:8000/api/thesis/?format=json ». Теперь я хочу получить данные JSON. Для подключения к api я попытался использовать PHP-Curl, как показано ниже. Но я получаю NULL! (Это первый раз, когда я делаю php, любая помощь будет великолепной!)
<?php $service_url = "http://127.0.0.1:8000/api/thesis/?format=json"; //initialize a curl session $curl = curl_init(); //set options for the transfer curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_TIMEOUT, 5); curl_setopt($curl, CURLOPT_URL, $service_url); curl_setopt($curl, CURLOPT_POST, false); curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-type:application/json')); //execute the session $curl_response = curl_exec($curl); //finish off the session curl_close($curl); $curl_jason = var_dump(json_decode($curl_response, true)); print_r($curl_jason); echo $curl_jason; ?>
Я думаю, вы должны использовать GET
метод curl
как это
$service_url = "http://127.0.0.1:8000/api/thesis/?format=json"; $curl = curl_init($service_url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); //execute the session $curl_response = curl_exec($curl); //finish off the session curl_close($curl); $curl_jason = json_decode($curl_response, true); print_r($curl_jason);
Используйте приведенный ниже фрагмент кода для извлечения данных из REST API с помощью PHP curl
<?php function _isCurl(){ return function_exists('curl_version'); } if (_iscurl()){ //curl is enabled $url = "http://testDomainName/restAPI.php?id=123&amt=100&jsonp=?"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $output = curl_exec($ch); curl_close($ch); print_r($output); // Curl operations finished } else{ echo "CURL is disabled"; } ?>