1

私は 2010 年のスキットルズ ソーシャル メディア キャンペーンのようなウェブサイトを構築するよう依頼されました。 the-social-media-rainbow.html )。

私が最初に考えたのは、Facebook を iFrame にロードすることでした。もちろん、動作しません (X-Frame-options)。次のアイデア: javascript を挿入してオーバーレイを作成する: いいえ、Facebook では不可能ですが、YouTube では機能します。最後に考えられるのは、Facebook のレイアウトを再構築し、API を介してコンテンツを取得することです。本当に簡単な解決策ではありません。

簡単に言えば、Facebook でオーバーレイを作成したり、サイトを自分の Web サイトのバックグラウンドにロードしたりするためのスムーズな方法はありますか?

4

1 に答える 1

1

iframe の代わりにPHPでcURLを使用してページを取得できます。

$header = NULL;
$cookie = NULL;    
$ch = curl_init();
    curl_setopt($ch, CURLOPT_HEADER, $header);
    curl_setopt($ch, CURLOPT_NOBODY, $header);
    curl_setopt($ch, CURLOPT_URL, "http://www.facebook.com");
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($ch, CURLOPT_COOKIE, $cookie);
    curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__). '/cookies.txt');
    curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__) . '/cookies.txt'); //save cookies here
    curl_setopt($ch, CURLOPT_REFERER, "http://www.facebook.com"); // you don't need that line; it's just the referer
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);;
    $output = curl_exec($ch);
curl_close($ch);
echo $output;

また、cURL を使用すると、ページの出力で変更を行うことができます。

于 2013-02-04T15:13:05.490 に答える