求助~~ 关于perl用lwp获取一个 gzip 压缩格式的html网页后,如何还原?

求助~~ 关于perl用lwp获取一个 gzip 压缩格式的html网页后,如何还原?

以下是 头输出,内容我就不知道怎么还原成 html 格式! 求助!



HTTP/1.1 200 OK
Cache-Control: no-cache, must-revalidate
Connection: close
Date: Sun, 17 Aug 2008 06:54:10 GMT
Pragma: no-cache
Server: Apache
Content-Encoding: gzip
Content-Length: 3348
Content-Type: text/html; charset=big5
Expires: Mon, 26 Jul 1997 05:00:00 GMT
Last-Modified: Sun, 17 Aug 2008 06:54:10 GMT
Client-Date: Sun, 17 Aug 2008 06:58:04 GMT
Client-Peer: 61.14.155.64:80
Client-Response-Num: 1





例如:
use LWP::UserAgent;

$url="http://www.xxx.com/xxx.php";
$ua = new LWP::UserAgent;
$ua->agent('Mozilla/4.0 (compatible; MSIE 5.00; Windows 9');
my $cookie_jar=HTTP::Cookies->new(file =>"$cgipath/sbcookie.txt",autosave => 1, ignore_discard => 1);
$ua->cookie_jar($cookie_jar);
$req = new HTTP::Request 'GET' => $url;
$req->header('Referer' => $Referer);
$res = $ua->request($req);
$content=$res->content ;


其中, $content 格式是:
Content-Encoding: gzip
Content-Length: 3348
Content-Type: text/html; charset=big5


怎么处理还原成 html 啊?



谢谢高手指点!!
我现在的解决办法是,只能把 $content 保存为 二进制的 .tar 文件。

然后再调用 winrar 去解压缩。好麻烦啊!



我的是在 windows 系统下的。 安装 perl 5.8


我想问如何利用 use Archive::Tar;  去解决? 或者还是有什么办法??



求助!

谢谢!
我没搞过,说说思路:

1,查 LWP 和 HTML::* 模块的手册,并且从 CPAN 上去搜,应该有现成的自动 decode 的模块。
2,如果上面的方法搞不定,就发 HTTP Header Accept 字段给 Web Server,明确表示自己不接受压缩格式。服务器就会给你返回非压缩的版本。
3,如果上面的方法还搞不定,就研究一下怎么用 Archive::* 模块,Perl 里面解压一个字符串不是什么难事儿。
据 2005年的一篇文章说lwp不做decode的工作
不知现在有没有完善


QUOTE:
原帖由 flw 于 2008-8-17 15:21 发表
我没搞过,说说思路:

1,查 LWP 和 HTML::* 模块的手册,并且从 CPAN 上去搜,应该有现成的自动 decode 的模块。
2,如果上面的方法搞不定,就发 HTTP Header Accept 字段给 Web Server,明确表示自己不接 ...

谢谢.但是,我不懂找decode 的模块,5555能帮帮我吗?

这个服务器只发送 gzip 的格式而已,不管你接受不接受.所以,方法 2不行啊~~~~


QUOTE:
原帖由 小星2 于 2008-8-18 00:28 发表

谢谢.但是,我不懂找decode 的模块,5555能帮帮我吗?

这个服务器只发送 gzip 的格式而已,不管你接受不接受.所以,方法 2不行啊~~~~

好吧,你出 500 块钱,我帮你做。


QUOTE:
原帖由 flw 于 2008-8-18 10:18 发表

好吧,你出 500 块钱,我帮你做。



QUOTE:
原帖由 flw 于 2008-8-18 10:18 发表

好吧,你出 500 块钱,我帮你做。

好!!没问题!!! 请加我QQ 343255