Intereting Posts
Ошибка утверждения xpath с динамическим xpath Передача данных пользователя из PHP / HTML в AngularJS Преобразование массивов в другой формат (PHP) Как включить Socket в PHP? CakePHP вложенные два запроса Расширение пользовательского контроля ZfcUser в пользовательском модуле Встраивание видеопотока в веб-страницу Как найти значение min float в нескольких массивах, если один из элементов quil zero Обновить DOM с помощью jquery после вызова AJAX Как я могу отобразить отформатированную дату из метки времени Unix в twig? PHP не может найти мой класс? Разбор строки пользовательского агента мобильного телефона, хорошее решение или библиотека? Реализация архитектуры и дизайн для системы уведомлений с использованием socket.io node.js и входящих сообщений Как автоматически регистрировать нового пользователя после регистрации у пользовательского провайдера в Silex? Сохранение нескольких значений в переменной $ _SESSION с помощью PHP

php: Получить содержимое URL (json) с помощью cURL

Я хочу получить доступ к https://graph.facebook.com/19165649929?fields=name (очевидно, его также можно получить с помощью «http») с помощью cURL, чтобы получить содержимое файла, более конкретно: мне нужно «имя» (это json) , Поскольку allow_url_fopen отключен на моем веб-сервере, я не могу использовать get_file_contents! Поэтому я попробовал это так:

<?php $page = 'http://graph.facebook.com/19165649929?fields=name'; $ch = curl_init(); //$useragent="Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1"; //curl_setopt($ch, CURLOPT_USERAGENT, $useragent); curl_setopt($ch, CURLOPT_URL, $page); curl_setopt($ch, CURLOPT_HEADER, 0); curl_exec($ch); curl_close($ch); ?> 

С помощью этого кода я получаю пустую страницу! Когда я использую другую страницу, например http://www.google.com, она работает как прелесть (я получаю содержимое страницы). Я думаю, что facebook проверяет то, что я не знаю … Что это может быть? Как я могу заставить код работать? Благодаря!

Solutions Collecting From Web of "php: Получить содержимое URL (json) с помощью cURL"

вы дважды разместили это здесь? php: получить исходный код html с помощью cURL

однако в вышеприведенном потоке мы обнаружили, что ваша проблема неспособна решить хост, и это было решением:

 //$url = "https://graph.facebook.com/19165649929?fields=name"; $url = "https://66.220.146.224/19165649929?fields=name"; $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_BINARYTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Host: graph.facebook.com')); $output = curl_exec($ch); curl_close($ch); 

Обратите внимание: API Facebook Graph требует аутентификации, прежде чем вы сможете просматривать любую из этих страниц.

У вас в основном есть два варианта. Либо вы входите в систему как приложение (вы зарегистрировались ранее), либо как пользователь. См. Документацию api, чтобы узнать, как это работает.

Моя рекомендация для вас – использовать официальный PHP-SDK. Вы найдете его здесь . Он делает все сеанс и волшебство cURL для вас и очень прост в использовании. Возьмите примеры, которые включены в пакет, и начните экспериментировать.

Удачи.