1

https://pubsubhubbub.appspot.com/を使用して、よく知られている PubSubHubHub プロトコルの実装を通じてフィードを購読しています。

次のページから必要なトピックを購読しました : https://pubsubhubbub.appspot.com/subscribe

サブスクリプションの確認を受け取り、$_GET パラメーターで受信した hub.challenge で正常に応答しました。Web サーバーのログを見たところ、ハブから送信された通知の POST 要求が示されています: http://i.stack.imgur.com/LH44O.png

$_POST と $_GET からの key=>value ペアを DB に格納するコードのセットアップがあります。テスト済みで、完全に機能します。

Q: ハブがどのように通知フィードを送信しているか、知っておくべきことはありますか? (確かにGETまたはPOSTではありません)そしてPHPでそれを解析するにはどうすればよいですか?

私はプロトコルの作業草案も研究しましたが、うまくいくかもしれないものを理解することができません. https://pubsubhubbub.googlecode.com/git/pubsubhubbub-core-0.4.html#contentdistribution

コードサンプルも検索しましたが、複雑なコードが多すぎて、単純なPHP解析コードに変換する方法がわかりません。(リンク先が参考になると思います)

https://code.google.com/p/pubsubhubbub/wiki/SubscriberClients

https://code.google.com/p/pubsubhubbub/source/browse/

4

1 に答える 1

1

幸いなことに、この問題についてさらに調査を行う時間があり、役立つ関連結果もいくつか見つかりました。ここで結果を共有したいだけなので、将来フォローする人はこの問題の解決策を見つけることができます.

PubSubHubHub.AppSpot ハブは、更新されたフィードの一部を本文の一部として、POST 経由でフィード更新通知を即座に送信します。そのため、更新されたフィードを簡単に取得して、任意の言語で解析できます。ページの本文を抽出し、本文テキストとして存在する RSS-xml を解析するだけです。

更新されたフィード テキストを取得するために、PHP で次のスクリプトを作成しました。

$request_body = @file_get_contents('php://input');

には$request_body、更新されたフィードの RSS-xml が含まれています。それを処理し、必要な情報を RSS-xml フィードから保存します。

ありがとう。

参照リンク: (それは私に簡単な解決策を提案しました) PHP での Pubsubhubbub サブスクライバー コールバックの実装

于 2013-07-08T18:28:13.883 に答える