いろいろ準備中

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

2月 13th, 2008 Posted in Zend Framework

手順としては、

  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) {
    // 例外処理
}

Zend_Http_Client、proxy_hostの設定で、ipアドレスを指定する場合も’(シングルクォート)で囲みましょう。

コメントを投稿する