2012-04-20 6 views
0

私はtwitterを検索し、つぶやきから投稿した画像を保存することができるtwitter検索APIを開発するためにPHPを使用しています。 それはすべて正常に動作しますが、Webページで読み込まれている画像の代わりにFacebookのために、その応答の後に読み込まれます。 Firebugを使ってNetタグに行くと、getphoto()のレスポンスタブの下に必要なHTMLソースコードが表示されます。私はこのhtmlテキストからimg srcを取得しようとしていますが、 Facebookは基本的な構造をロードしてから、そのページにイメージを再ロードしているようです。ヘッダレスポンスボディを取得

私の質問は:どのように私はこの 'レスポンスボディ'を得ることができますか?

以前はget_headers()を使用していましたが、この状況ではうまくいかないと思っています。

アドバイスをいただければ幸いです。 いけない私のコードを説明する助けになると思いますが、入れて喜んでいくつかのアップ

EDIT:

例のFacebookのURL:/https://www.facebook.com/photo.php?pid=1258064 &リットル=

IMGクラス= "fbPhotoImage IMG" ID = "fbPhoto:これはイメージタグで画像

を含むページにあなたを取るだろう= 110298935669685

& ID acb54aab14画像」SRC = 『https://fbcdn-sphotos-a.akamaihd.net/hphotos-ak-ash3/522357_398602740172635_110298935669685_1258064_1425533517_n.jpg』 ALT = 『』

しかし、応答が伝わってくるまで、これは表示されません。

私は短縮URLを拡張するためにget_header関数を使用しています。これはtwittersが好きで、複数の短縮/リダイレクトを持つ他のサードパーティのフォトサイトから取得してイメージすることができます。

以前はcURLを使用していませんでしたが、これは最良の方法ですか?代わりに、Webページがロードされている画像の

おかげで再び

+0

あなたは例のFBのimg URLを投稿することができますか? – HappyTimeGopher

答えて

0

、そのロードされた後の応答で

私はこれが何を意味するのか分かりません。

イメージURLを抽出するためにコードが解析されるはずのhtmlをフェッチしようとしているURLが、実際にリダイレクトを行っているとしか推測できません。

あなたの転送にcurlを使用し、リダイレクトに従うように指示します.NBこれはメタリブリダイレクト、メタリフレッシュリダイレクト、またはjavascriptのロケーションリダイレクトではなく、ヘッダーリダイレクトでのみ機能します。

(多分Faceboo0kは、あなたが自分のコンテンツをリーチしたくない?)

+0

"Webページがロードされている_instead、レスポンスの後にロードされました_"私は、Webページのfilegetcontents(Url)を出力すると、画像全体のdiv/imageタグが存在しません。ただし、上記のようにファイヤーバグを使用すると、ページが読み込まれた後、スクリプト内にイメージタグが表示されます。これは、スクリプトや何かに読み込まなければならないと信じさせてくれます。だから私は応答HTMLまたは完全に読み込まれたWebページを取得する必要があります。 –

関連する問題