1. 程式人生 > >linux命令列中curl和wget自動解壓功能對比

linux命令列中curl和wget自動解壓功能對比

在linux的終端環境下, 我們經常使用curl或是wget來快速下載網頁, 其實它們之間還是有很多細微區別的, 比如http 1.1的相容問題,  gzip解壓縮功能等等.

下面是我在實踐中遇到的wget不能自動解壓的問題, 也就是wget對一個使用gzip壓縮的http響應不會自動解壓, 還是會返回壓縮前的結果.以請求

http://hao.qq.com

網頁為例, 使用命令

wget -d -O hao.qq.html "http://hao.qq.com"

我們會得到gzip壓縮的檔案,參看下面的截圖


對下載後的檔案格式使用file命令檢測


下面我們通過gunzip來解壓縮

注意gunzip只能解壓字尾名為.gz的檔案
,不是這樣的字尾名要改為這樣的字尾名,比如下面 mv hao.qq.htm  hao.qq.htm.gz gunzip -c hao.qq.htm.gz > hao.qq.htm.1 我們開啟解壓後的檔案hao.qq.htm.1, 發現它才是解壓後的檔案. 作為對比, 我們直接使用curl來下載,注意要使用自動解壓縮選項--compressed, 否則還是不會自動解壓縮
curl -v --compressed -o  hao.qq.2.htm "http://hao.qq.com" 我們得到如下截圖, 注意比較紅色圈注
從上圖易見, 它會自動解壓gzip響應.這就是curl和wget的一個顯著區別.