302リダイレクト先をGETせよ!(実際にはHEAD)
スポンサードリンク
RSSをフェッチしてリストにするお仕事で数年やらせていただいている僕ですけれども、最近Feed Burnerを使って配信されるRSSのlink要素が、feedproxy.google.comなる効果測定するためのプロクシサーバが刺さっていまして、リンクしてブラウザで開く場合は302リダイレクトがかかるので(その際にブラウザ情報とかバックで記録している)まあいいとして、はてなブックマークのブックマーク数を表示させるときに使おうとすると、リアルのURLではないので、0 Usersとなってしまう。
しょうがないので、302リダイレクトの先を取得するのを作る羽目になった。
これがワンライナー。
perl -MLWP::UserAgent -le '$q=HTTP::Request->new(HEAD=>"http://~");$u=LWP::UserAgent->new;print $u->simple_request($q)->header("location");'
Twitterに投稿できるよう140文字以内に収めてみましたw
そんで、実際にプログラムに組み込んだところ、いくらFeedBurnerがGoogleになったといえども、何10件ものHEADをシーケンシャルに処理すると遅くなるわけで、耐えられない遅さになっちまいました。
キャッシュ機構組むか……で感じでシオシオです。
スポンサードリンク
トラックバック(0)
トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/2747
コメントする