3

圧縮データで HTTP::Response を作成する必要があります。コンテンツを gzip 圧縮するにはどうすればよいですか? 適切なヘッダーを追加して、Compress::Zlib を使用して自分で圧縮するだけですか? それとも、これを処理する方法を提供する LWP モジュールはありますか?

4

1 に答える 1

2

これはあなたが必要とするものですか?データを gzip し、Content-encoding ヘッダーを設定して送信します。

use strict;
use warnings;

use HTTP::Response;
use IO::Compress::Gzip qw(gzip);

my $data = q(My cat's name is Buster);

my $gzipped_data;
my $gzip = gzip \$data => \$gzipped_data;
print STDERR $gzipped_data;

my $response = HTTP::Response->new;

$response->code( 200 );
$response->header( 'Content-type'     => 'text/plain' );
$response->header( 'Content-encoding' => 'gzip' );
$response->header( 'Content-length'   => length $gzipped_data );

$response->content( $gzipped_data );

print $response->as_string;
于 2011-08-10T13:00:34.623 に答える