Странное поведение керла и фейсбука - PullRequest
0 голосов
/ 14 мая 2010

Вот код:

$ch = curl_init( 'https://graph.facebook.com/btaylor');

curl_setopt( $ch, CURLOPT_USERAGENT, '' );

curl_setopt( $ch, CURLOPT_RETURNTRANSFER ,true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 

$data = curl_exec($ch);

print_r( $data) ;
curl_close($ch);

Показывает немного информации из Facebook. Он работает на моем локальном хосте, но когда я пытаюсь запустить его на моем сервере, он просто не работает, возвращает пустой сайт. Я пытался использовать этот код с другими сайтами, такими как example.com, и он работает, поэтому я подумал, что из-за Facebook блокирует мой ip (я не знаю, почему это так), поэтому я проверил его. Я запустил его с

curl_setopt($ch, CURLOPT_PROXY, 'myproxy');

Но он по-прежнему не показывает никакой информации. Я пытаюсь исправить это весь день, но это слишком сложно. У вас есть идеи?

1 Ответ

2 голосов
/ 14 мая 2010

Я собираюсь догадаться, что либо curl не установлен на вашем сервере, и / или отчеты об ошибках отключены / выключены на вашем сервере.

Редактировать: Хорошо, если вы знаете, что curl установлен и работает, вам все же необходимо включить отчеты об ошибках. Когда вы наконец-то увидите свою ошибку о "сбое проверки сертификата", вам нужно будет экспортировать сертификат Facebook (PEM) из Facebook и настроить curl на доверие.

Или, если этот не является рабочим кодом , вы можете просто использовать ( безумно небезопасно ):

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

... до вслепую принять Центры сертификации.

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