0

アクセスしたいFacebookページフィードがあります:

http://facebook.com/feeds/page.php?format=json&id=123456789 (Not a real ID)

ブラウザにURLを入力すると正常に機能しますが、file_get_contentsを使用してアクセスしようとすると、サポートされていないブラウザを使用しているというページがFacebookから送信されます。ただし、このデータは公開されているため、取得するためにアクセストークンは必要ありません。このデータにアクセスするために必要な追加の手順はありますか?また、cURLを使用してみましたが成功しませんでした。

どんな助けでも大歓迎です。ありがとう。

4

2 に答える 2

3

curlを使用してブラウザを模倣できます。その方法については、このスレッドを参照してください。

$header = array();
$header[] = 'Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5';
$header[] = 'Cache-Control: max-age=0';
$header[] = 'Connection: keep-alive';
$header[] = 'Keep-Alive: 300';
$header[] = 'Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7';
$header[] = 'Accept-Language: en-us,en;q=0.5';
$header[] = 'Pragma: ';
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, 'YOUR URL HERE');
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11 (.NET CLR 3.5.30729)');
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_AUTOREFERER, true); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_ENCODING, '');
curl_setopt($ch, CURLOPT_TIMEOUT, 20);
$result = curl_exec($ch);
curl_close ($ch);
echo $result;
于 2012-05-14T16:57:16.543 に答える
1

このURLは使用しないでください。アクセスするのは本当に古い方法です。比較的新しいGraphAPIを使用する

于 2012-05-14T16:57:12.843 に答える