2012-03-20 53 views
0

有没有一个命令行工具,可以告诉我,如果Gzip是?我在寻找的是可以说来自服务器的流真的被gzip压缩,即使头部参数声称Gzip:1(它可能错误地放在头部中)。是否有一个命令行工具可以告诉我Gzip是否超出Gzip 1标题参数?

我没有在curl,wget或tcpdump或其他任何东西上看到开关,但也许我只是错过了一些东西,或者有其他东西可以提供给我这些信息?任何帮助,将不胜感激。

+2

想到两个简单的黑客:1)尝试解压缩它,如果有错误,假设它没有被压缩。 2)再次压缩它,如果它明显更小,假设它没有被压缩。一般来说,如果你不信任头文件,那么你可以做的事情很少,以确保*某种格式的文件。你最终只限于启发式。 – Cameron 2012-03-20 20:04:01

回答

1

这表示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 
相关问题