Как получить данные JSON с curl и php из другого домена? - PullRequest
1 голос
/ 21 декабря 2011

Я трион, чтобы сделать запрос на страницу и получить некоторые результаты, используя curl.

с JavaScript, я мог бы использовать $.getJSON, например, так:

$.getJSON('https://ajax.googleapis.com/ajax/services/search/images?q=fuzzy%20monkey&v=1.0&callback=?', function(response) {
    console.log(response.responseData);
});

но если javascript не активирован, я бы хотел использовать CURL. я просто не знаю, как.

также мне не обязательно нужен ответ, чтобы быть json, xml может быть в порядке, также

есть идеи? Спасибо

edit: также я не очень хочу использовать file_get_contents(), но чистый локон

1 Ответ

3 голосов
/ 21 декабря 2011

Возвращает данные JSON с указанного вами URL. С инструкция .

<?php
        // create curl resource
        $ch = curl_init();

        // set url
        curl_setopt($ch, CURLOPT_URL, "https://ajax.googleapis.com/ajax/services/search/images?q=fuzzy%20monkey&v=1.0");

        //return the transfer as a string
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

        // $output contains the output string
        $output = curl_exec($ch);

        // close curl resource to free up system resources
        curl_close($ch);     
?>

Это полностью зависит от хоста (в данном случае Google), будут ли возвращаемые данные в формате JSON, XML, HTML и т. Д. Вы не можете контролировать это, если только они не предоставляют средства для этого через API.

mangobug ссылка на Получение данных jSON с PHP (метод curl) показывает, как отправлять и получать данные JSON и как обрабатывать аутентификацию, когда это необходимо.

...