だから私は WWW::Mechanize を使用してページのコンテンツを取得しています。最大サイズを設定したいと思います。また、最大サイズに達した場合は、これまでに取得したコンテンツを取得したいと考えています。LWPでは次のようにできることを知っています:
my $ua = LWP::UserAgent->new;
$ua->max_size(1024);
$ua->get($url);
そして、この時点で 1024 バイトに達したとして$ua->content
も、その時点までに取得した読み取り可能なコンテンツを保持します。WWW::Mechanize は LWP のサブクラスなので、基本的にまったく同じ方法でセットアップできます。
my $mech = WWW::Mechanize->new;
$mech->max_size(1024);
$mech->get($url);
そして、WWW::Mechanize は LWP::UserAgent のサブクラスである$mech->content
ため、サイズが 1024 バイトに達するまで取得されたコンテンツを保持すると考えるでしょう。ただし、これを実行して最大サイズに達すると、次のようなコンテンツを WWW::Mechanize オブジェクトから取得します。
?|???-???+"?O<?p}?,?ܙmW ?`E??\\ސ???ѧ??U{3???
スーパークラスの LWP::UserAgent のように、実際に WWW::Mechanize に読み取り可能なものを出力させる方法を知っている人はいますか? 私は WWW::Mechanize が提供する追加機能のいくつかが気に入っているので、このためだけに LWP に切り替えるのではなく、可能な限りそれを使い続けたいと思っています。ありがとう!