分散型携帯用2chビュア・がっくしメニュー2

このエントリーをはてなブックマークに追加
469Itadaki ★
>>468 orzは公開前提なので、非公開でorzシステム使いたい方はDatControl.pmをどうぞ。

以下、前スレからコピペ-----------------

DatControl.pm - http://who.sakura.ne.jp/src/DatControl-0.06.zip
* コンテンツの圧縮要求に対応(要Compress::zlib)
# デフォルト無効です。有効にするにはDatControl.pmの22行目の0を1に変更してください
# SSLを有効にする場合は17行目の0を1に変更してください

DatControl.pmはdat取得からキャッシュデータの構築までをカプセル化したものです。
datの取得は何も考えずに、表示方法だけを考えればいいのですよ。

use DatControl;
my $dc = new DatControl;
my $content = $dc->get('http://www.2ch.net/bbs/dat/1234567890.dat');

これでこのURLのDATが $content に代入されます。
実際に使うときは split(/\n/, $content); で切り出します。
取得してから1分以内は前回取得したキャッシュを参照します。

キャッシュしないときは $dc->get の代わりに $dc->GetPage を使います。

use DatControl;
my $dc = new DatControl;
my $content = $dc->GetPage('http://www.2ch.net/bbs/dat/1234567890.dat');


その他POST、HTTPヘッダを使いたいときは MakeRequest & GetRequest を使います。
use DatControl;
my $dc = new DatControl;
my %content = ('key' => 'value');
my %header = ('User-Agent' => 'Monazilla/1.00');
my $r = $dc->MakeRequest('POST', 'http://www.2ch.net/', \%content, \%header);
my $timeout = 60;
$dc->GetRequest($r, $timeout);
my $content = $r->{'content'};