curl命令介绍
curl命令介紹
01
簡介
curl命令是一個利用URL規則在命令行下工作的文件傳輸工具。它支持文件的上傳和下載,所以是綜合傳輸工具,但按傳統,習慣稱curl為下載工具。作為一款強力工具,curl支持包括HTTP、HTTPS、ftp等眾多協議,還支持POST、cookies、認證、從指定偏移處下載部分文件、用戶代理字符串、限速、文件大小、進度條等特征。做網頁處理流程和數據檢索自動化,curl可以助一臂之力。下面簡單介紹下該命令。
02
語法及參數
語法:
curl(選項)(參數)
常用選項:
-a/–append
上傳文件時,附加到目標文件
-A/–user-agent <string>
設置用戶代理發送給服務器
-b/–cookie <name=string/file>
cookie字符串或文件讀取位置
–basic
使用HTTP基本驗證
-c/–cookie-jar <file>
操作結束后把cookie寫入到這個文件中
-C/–continue-at <offset>
斷點續轉
-d/–data <data>
HTTP POST方式傳送數據
-D/–dump-header <file>
把header信息寫入到該文件中
-o/–output
把輸出寫到該文件中
-O/–remote-name
把輸出寫到該文件中,保留遠程文件的文件名
-R/–remote-time
在本地生成文件時,保留遠程文件時間
-u/–user <user[:password]>
設置服務器的用戶和密碼
-U/–proxy-user <user[:password]>
設置代理用戶名和密碼
03
示例
1、文件下載及上傳
curl可以通過不同的協議下載文件,通過設定特定的命令參數,可以實現靈活的控制下載輸出。下面給出幾個簡單的示例:
- 下載單個文件
curl?http://man.linuxde.net/text.iso
- 下載多個文件
curl –o?http://man.linuxde.net/text1.iso?–o?http://man.linuxde.net/text.iso
- 下載文件后輸出到指定文件,并顯示進度條
curl?http://man.linuxde.net/text.iso?–o filename.iso –press
- 控制下載速度
curl?http://man.linuxde.net/text.iso?--limit-rate 50k- 控制下載配額
curl?http://man.linuxde.net/text.iso?–max-filesize 1000k
- 從ftp下載
curl -u ftpuser:ftppass -O ftp://ftp_server/public_html/xss.php- 斷點續傳
curl?http://man.linuxde.net/text.iso?-C 偏移量
#偏移量是以字節為單位的整數,如果讓curl自動推斷出正確的續傳位置使用-C -:curl -C -http://man.linuxde.net/text.iso-?文件上傳
curl --form “fileupload=@filename.txt”?http://hostname/resource
?
2、網頁流程處理
Curl可以向服務器傳輸數據,支持常用的http、https、ftp等協議,因此也可以用來對不同請求的正確性和返回數據格式進行驗證。下面介紹常用的幾個例子:
- 查看網頁代碼
curl?www.so.com
- GET 請求
curl?123-_360搜索?POST 請求
curl -d “userId=28090443&premium=100” "http://www.so.com//addStrategyKeyword
- 顯示頭信息
curl –i?http://www.so.com
- 顯示通信過程
curl –v?www.so.com
- Cookie使用
curl –cookie “type=xxx”?www.so.com
- 增加頭信息
curl --header “xxx:xxx”?http://www.so.com
- http認證curl –user name:password?www.so.com
?
04
總結
以上只是curl命令的常用方法,其中有不足的地方歡迎大家指正,想了解更詳細的用法可以查看這個鏈接:http://man.linuxde.net/curl
總結
- 上一篇: 记录——《电子测量与仪器学报》期刊投稿总
- 下一篇: Arduino UNO+L298驱动直流