Wadslog

[Zend Framework] Zend FrameworkでRSSフィードをproxy経由で取得

Feb 13, 2008

手順としては、

  1. Zend_Http_Clientを用いてproxy経由でRSSフィードを取得
  2. レスポンスデータからRSSを取り出し、Zend_Feed::importString()で読み込む

あとはZend_Feedを用いていろいろできます。 proxy経由でリクエストをかけるには、Zend_Http_ClientのアダプタをZend_Http_Client_Adapter_Proxyに設定して、サーバー名、ポートなどを指定すればOKです。 上記の通り取得したRSSはレスポンスデータのBody部にあるので、getBody()で取得します。 コードは以下の通りです。$confの設定はお使いの環境に合わせてください。``` require_once ‘Zend/Http/Client.php’; require_once ‘Zend/Feed.php’;

// Zend_Http_Clientの設定 $conf = array( ‘adapter’ => ‘Zend_Http_Client_Adapter_Proxy’, ‘proxy_host’ => ‘server-name’, //proxyサーバー名、またはipアドレス ‘proxy_port’ => 80, // ポート番号 );

try { // リクエスト $client = new Zend_Http_Client(‘http://wadslab.net/feed/', $conf); $response = $client->request();

// Zend\_Feedにインポート
$rss = Zend\_Feed::importString($response->getBody());

} catch (Zend_Exception $e) { // 例外処理 } …

comments powered by Disqus