Использование json_decode для результата cURL - PullRequest
0 голосов
/ 10 июня 2018

У меня есть следующий код, который извлекает данные о компании.

function getSSLPage($url) {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_HEADER, false);
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_SSLVERSION,1); 
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
        curl_setopt($ch, CURLOPT_SSL_CIPHER_LIST, 'TLSv1');
        $result = curl_exec($ch);
        $result = json_decode($result, true);
        curl_close($ch);
        return $result;
    }


$get_page = getSSLPage('link');
print_r($get_page);

Проблема в том, что я не могу получить результат json.curl_exec () действительно печатает результат, но если я использую print_r () или var_dump () для $ result, я получаю int (1) в качестве результата.

Я пробовал разные варианты, но все не удалось.

Буду признателен за вашу помощь.

Ответы [ 3 ]

0 голосов
/ 10 июня 2018

внутри вашей функции

добавить код ниже сразу после curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

// Will return the response, if false it prints the response
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
0 голосов
/ 10 июня 2018

Вы должны использовать CURLOPT_RETURNTRANSFER и можете упростить код до:

function getSSLPage($url) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    // add other options you need, eg: timeout, etc

    $result = curl_exec($ch);
    if($result === false) {
        //error occurs, use curl_errno/curl_error to get the error
    } else {
        $result = json_decode($result, true);
    }
    curl_close($ch);
    return $result;
}
0 голосов
/ 10 июня 2018

Использовать CURLOPT_RETURNTRANSFER вариант.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...