cURL是一個利用URL語法在命令列下工作的檔案傳輸工具,1997年首次發行。它支援檔案上傳和下載,所以是綜合傳輸工具,但按傳統,習慣稱cURL為下載工具。cURL還包含了用於程式開發的libcurl。
cURL支援的通訊協定有FTP、FTPS、HTTP、HTTPS、TFTP、SFTP、Gopher、SCP、Telnet、DICT、FILE、LDAP、LDAPS、IMAP、POP3、SMTP和RTSP。
libcurl支援的平台有Solaris、NetBSD、FreeBSD、OpenBSD、Darwin、HP-UX、IRIX、AIX、Tru64、Linux、UnixWare、HURD、Windows、Symbian、Amiga、OS/2、BeOS、Mac OS X、Ultrix、QNX、BlackBerry Tablet OS、OpenVMS、RISC OS、Novell NetWare、DOS等。
來源:https://zh.wikipedia.org/wiki/CURL
另外我們可以使用 JSONPlaceholder 工具網站來測試 REST API
Fake Online REST API for Testing and Prototyping
https://jsonplaceholder.typicode.com/
取得所有資料
curl https://jsonplaceholder.typicode.com/posts
取得一筆資料
curl https://jsonplaceholder.typicode.com/posts/1
取得一筆資料(含header部份)
curl -i https://jsonplaceholder.typicode.com/posts/1
只取header部份
curl --head https://jsonplaceholder.typicode.com/posts/1
只取header部份
curl -I https://jsonplaceholder.typicode.com/posts/1
取得資料並儲存到 test.txt
curl -o test.txt https://jsonplaceholder.typicode.com/posts/3
下載檔案(檔名為參數 3)
curl -O https://jsonplaceholder.typicode.com/posts/3
也可以下載其它檔案(如圖檔)
curl -O http://i.imgur.com/QRlAg0b.png
使用 REST API POST 資料
curl --data "title=Hello&body=Hello World" https://jsonplaceholder.typicode.com/posts
使用 REST API PUT 修改資料(每一個欄位 -d key=value)
curl -X PUT -d title=Hello https://jsonplaceholder.typicode.com/posts/3
使用 REST API DELETE 刪除一筆資料
curl -X DELETE https://jsonplaceholder.typicode.com/posts/3
使用帳號密碼登入有保護的網站位置並取得資料
curl -u test:1234 http://172.17.0.11/lock
有些網站具有跳轉,如下列會返回301或302,無法取得真正檔案資料
curl http://google.com
加上參數 -L 會跟隨跳轉,取得真正位置的檔案資料
curl -L http://google.com
使用 cURL 來登入 FTP 並上傳一個檔案
curl -u [email protected]:1234 -T hello.txt ftp://ftp.abc.com
使用 cURL 來登入 FTP 並下載一個檔案
curl -u [email protected]:1234 -O ftp://ftp.abc.com/hello.txt