ボクの覚え書き – CentOSでサーバ構築 サーバー構築やプログラミングの覚え書き

Apache+mod_gzipで圧縮されて配信されるページを取得

10.08.2008 · Posted in 覚え書き

某サイトのRSSデータを取得しようとしてこのようなソースを書きました。

$rss = implode("", file("http://xxx.xxxxxxxxxxxx.xx/index.xml"));

で、$rssの中を見ると、意味不明の文字?しか入ってません。

ん?何だ?

socket接続(fsockopen)でやったり、curlでやったりしたけど変化なし。

ためしに、レスポンスヘッダを取得してみると、こんなのが入ってました。

Content-Encoding: gzip

どうやらApacheにmod_gzipモジュールを組み込んで圧縮して送信しているらしい。う~ん、どうすればいいんだろう?

いろいろ試した結果、pearのHTTP_Requestがどうやら使えそうでした。

# pear install HTTP_Request
<?
$request = &new HTTP_Request();
$request->setURL("http://xxx.xxxxxxxxxxxx.xx/index.xml");
$res = $request->sendRequest();
$buf = $request->getResponseBody();
?>
Tags:

Comments are closed