3

我需要使用压缩数据创建一个 HTTP::Response。如何使内容压缩?我是否只是添加适当的标头并使用 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 回答