0
有没有一个命令行工具,可以告诉我,如果Gzip是?我在寻找的是可以说来自服务器的流真的被gzip压缩,即使头部参数声称Gzip:1(它可能错误地放在头部中)。是否有一个命令行工具可以告诉我Gzip是否超出Gzip 1标题参数?
我没有在curl,wget或tcpdump或其他任何东西上看到开关,但也许我只是错过了一些东西,或者有其他东西可以提供给我这些信息?任何帮助,将不胜感激。
有没有一个命令行工具,可以告诉我,如果Gzip是?我在寻找的是可以说来自服务器的流真的被gzip压缩,即使头部参数声称Gzip:1(它可能错误地放在头部中)。是否有一个命令行工具可以告诉我Gzip是否超出Gzip 1标题参数?
我没有在curl,wget或tcpdump或其他任何东西上看到开关,但也许我只是错过了一些东西,或者有其他东西可以提供给我这些信息?任何帮助,将不胜感激。
这表示Content-Encoding: gzip
表示压缩数据。数据然后是gzip格式,否则会出现错误。
$ curl --compressed -v http://zlib.net > /dev/null
* About to connect() to zlib.net port 80 (#0)
* Trying 69.73.181.135... connected
* Connected to zlib.net (69.73.181.135) port 80 (#0)
> GET/HTTP/1.1
> User-Agent: curl/7.19.7 (universal-apple-darwin10.0) libcurl/7.19.7 OpenSSL/0.9.8r zlib/1.2.3
> Host: zlib.net
> Accept: */*
> Accept-Encoding: deflate, gzip
>
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0< HTTP/1.1 200 OK
< Date: Tue, 20 Mar 2012 23:19:00 GMT
< Server: Apache/2.2.21 (Unix) mod_ssl/2.2.21 OpenSSL/0.9.7a mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635
< Last-Modified: Mon, 06 Feb 2012 03:46:25 GMT
< ETag: "29603b0-84b4-4b84381b0a640"
< Accept-Ranges: bytes
< Vary: Accept-Encoding,User-Agent
< Content-Encoding: gzip
< Content-Length: 9508
< Content-Type: text/html
<
{ [data not shown]
100 9508 100 9508 0 0 24955 0 --:--:-- --:--:-- --:--:-- 50574* Connection #0 to host zlib.net left intact
* Closing connection #0
想到两个简单的黑客:1)尝试解压缩它,如果有错误,假设它没有被压缩。 2)再次压缩它,如果它明显更小,假设它没有被压缩。一般来说,如果你不信任头文件,那么你可以做的事情很少,以确保*某种格式的文件。你最终只限于启发式。 – Cameron 2012-03-20 20:04:01