CURL常用命令記錄--用於簡單測試接口


       curl命令是一個利用URL規則在命令行下工作的文件傳輸工具。它支持文件的上傳和下載,所以是綜合傳輸工具,但按傳統,習慣稱curl為下載工具。作為一款強力工具,curl支持包括HTTP、HTTPS、ftp等眾多協議,還支持POST、cookies、認證、從指定偏移處下載部分文件、用戶代理字符串、限速、文件大小、進度條等特征。

過-o/-O選項保存下載的文件到指定的文件中:
-o:將文件保存為命令行中指定的文件名的文件中
-O:使用URL中默認的文件名保存文件到本地
# 將文件下載到本地 curl -o mygettext.html http://www.ete.com/123.html
# 將文件保存到本地 curl -O http://www.ete.com/123.htm
# 同時獲取多個文件 curl -O URL1 -O URL2
# 讓curl使用地址重定向,此時會查詢google.com.hk站點 curl -L http://www.google.com
# 通過添加-C選項繼續對該文件進行下載,已經下載過的文件不會被重新下載 curl -C - -O url
# 在訪問需要授權的頁面時,可通過-u選項提供用戶名和密碼進行授權 curl -u username:password URL
# 列出public_html下的所有文件夾和文件 curl -u ftpuser:ftppass -O ftp://ftp_server/public_html/
# 下載xss.php文件 curl -u ftpuser:ftppass -O ftp://ftp_server/public_html/xss.php
# 將myfile.txt文件上傳到服務器 curl -u ftpuser:ftppass -T myfile.txt ftp://ftp.testserver.com
# 同時上傳多個文件 curl -u ftpuser:ftppass -T "{file1,file2}" ftp://ftp.testserver.com
# 從標准輸入獲取內容保存到服務器指定的文件中 curl -u ftpuser:ftppass -T - ftp://ftp.testserver.com/myfile_1.txt

傳遞請求數據

默認curl使用GET方式請求數據,這種方式下直接通過URL傳遞數據
可以通過 --data/-d 方式指定使用POST方式傳遞數據

  # GET  curl -u username https://api.github.com/user?access_token=XXXXXXXXXX
  # POST  curl -u username -X POST --data "param1=value1&param2=value" https://api.github.com
  # json curl -l -H "Content-type: application/json" -X POST -d '{"phone":"13521389587","password":"test"}' http://domain/apis/users.json
  # 也可以指定一個文件,將該文件中的內容當作數據傳遞給服務器端 curl --data @filename https://github.api.com/authorizations
  # 通過POST方式傳遞過去的數據中若有特殊字符,需要將特殊字符轉義在傳遞給服務器端,如value值中包含有空格,則需要先將空格轉換成%20,如:
  # curl -d "value%201" http://hostname.com

在新版本的CURL中,提供了新的選項 --data-urlencode,通過該選項提供的參數會自動轉義特殊字符。 curl --data-urlencode "value 1" http://hostname.com

除了使用GET和POST協議外,還可以通過 -X 選項指定其它協議,如: curl -I -X DELETE https://api.github.cim

上傳文件  curl --form "fileupload=@filename.txt" http://hostname/resource


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM