Как получить данные JSON из Rest API с помощью PHP Curl?

1

У меня есть 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;
?>
  • 0
    какой метод вы используете POST или GET
  • 0
    var_dump($curl_response) прежде чем пытаться json_decode его. Вы должны взглянуть на curl_error .
Показать ещё 1 комментарий
Теги:
rest
php-curl

2 ответа

3

Я думаю, вы должны использовать 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);
  • 0
    Я использую метод GET и попробовал вашу версию, но я все еще ничего не получаю.
1

Используйте приведенный ниже фрагмент кода для извлечения данных из 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";
    }
    ?>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню