curl命令詳解

來源:互聯網
上載者:User

標籤:count   idt   上傳檔案   預設   ftp伺服器   byte   local   mit   位置   

一、curl命令詳解

(1)curl命令作用

      curl命令是一個功能強大的網路工具,它能夠通過http、ftp等方式下載檔案,也能夠上傳檔案,同時支援HTTPS等眾多協議,還支援POST、cookies、認證、從指定位移處下載部分檔案、使用者代理程式字串、限速、檔案大小、進度條等特徵。其實curl遠不止前面所說的那些功能,大家可以通過man curl閱讀手冊頁擷取更多的資訊。類似的工具還有wget。curl命令使用了libcurl庫來實現,libcurl庫常用在C程式中用來處理HTTP請求,curlpp是libcurl的一個C++封裝,這幾個東西可以用在抓取網頁、網路監控等方面的開發,而curl命令可以協助來解決開發過程中遇到的問題。

(2)常用參數

    curl命令參數很多,這裡只列出我曾經用過、特別是在shell指令碼中經常用到過的那些。

-a/--append 上傳檔案時,附加到目標檔案

-A:隨意指定自己這次訪問所宣稱的自己的瀏覽器資訊

-b/--cookie <name=string/file> cookie字串或檔案讀取位置,使用option來把上次的cookie資訊追加到http request裡面去。

-c/--cookie-jar <file> 操作結束後把cookie寫入到這個檔案中

-C/--continue-at <offset>  斷點續轉

-d/--data <data>   HTTP POST方式傳送資料

    --data-ascii <data> 以ascii的方式post資料
     --data-binary <data> 以二進位的方式post資料
     --negotiate 使用HTTP身分識別驗證
     --digest 使用數字身分識別驗證
     --disable-eprt 禁止使用EPRT或LPRT
     --disable-epsv 禁止使用EPSV

-D/--dump-header <file> 把header資訊寫入到該檔案中

     --egd-file <file>  為隨機資料(SSL)設定EGD socket路徑

     --tcp-nodelay     使用TCP_NODELAY選項

-e/--referer <URL>  指定引用地址

-F/--form <name=content>   類比http表單提交資料

     --form-string <name=string> 類比http表單提交資料

-G/--get    以get的方式來發送資料

-H/--header <header> 指定要求標頭參數

    --ignore-content-length  忽略的HTTP頭資訊的長度

-i/--include     輸出時包括protocol頭資訊

-I/--head 僅返回頭部資訊,使用HEAD請求

-k/--insecure  允許不使用認證到SSL網站

-K/--config    指定的設定檔讀取

-l/--list-only   列出ftp目錄下的檔案名稱

    --limit-rate <rate> 設定傳輸速度

     --local-port<NUM>  強制使用本地連接埠號碼

-m/--max-time <seconds> 指定處理的最大時間長度

     --max-redirs <num>    設定最大讀取的目錄數

     --max-filesize <bytes>  設定最大下載的檔案總量

-o/--output <file>   指定輸出檔案名稱

-O/--remote-name  把輸出寫到該檔案中,保留遠程檔案的檔案名稱

 

-v/--verbose  小寫v參數,用於列印更多資訊,包括髮送的請求資訊,這在調試指令碼是特別有用。

-s/--slient 減少輸出的資訊,比如進度

--connect-timeout <seconds> 指定嘗試串連的最大時間長度

-x/--proxy <proxyhost[:port]> 指定Proxy 伺服器地址和連接埠,連接埠預設為1080

 

 

 

 

 

-u/--user <user[:password]>設定伺服器的使用者和密碼

-r/--range <range>檢索來自HTTP/1.1或FTP伺服器位元組範圍

   --range-file 讀取(SSL)的隨機檔案

-R/--remote-time   在本地組建檔案時,保留遠程檔案時間

    --retry <num>   指定重試次數

    --retry-delay <seconds>   傳輸出現問題時,設定稍候再試時間

    --retry-max-time <seconds>  傳輸出現問題時,設定最大重試時間

-s/--silent  靜默模式。不輸出任何東西

-S/--show-error  顯示錯誤

    --socks4 <host[:port]> 用socks4代理給定主機和連接埠

    --socks5 <host[:port]> 用socks5代理給定主機和連接埠

    --stderr <file>

-x/--proxy <host[:port]> 在給定的連接埠上使用HTTP代理

-X/--request <command> 指定什麼命令。curl預設的HTTP動詞是GET,使用-X參數可以支援其他動詞。

-T/--upload-file <file> 指定上傳檔案路徑

(3)使用執行個體

1、抓取cokkie資訊到一個檔案中

curl -c cookie0.txt -d "username=****&password=***" http://www.kuaipan.cn/accounts/login/

2、get方法擷取資訊

curl -G -I -o xsrf.txt -b cookie1.txt -c cookie2.txt http://web.kuaipan.cn/n/drive/home.tmpl/upload

curl命令詳解

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.