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