2012-03-20 107 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 
相關問題