Curl 一種文字介面的 Web Client,有 shell 的版本跟 lib 的版本,被廣泛應用在很多語言的 lib 上。
官方網站:http://curl.haxx.se
有原始碼、文件等等資料可以瀏覽跟下載。
最簡單的使用方式 例如:
$ curl http://mlwmlw.org
他就會回傳這個網站的 html 直接輸出到 stdout,甚至還能 POST DATA(FILE)
在 7.18 以後支援 –data-urlencode 這個參數,可以傳檔案並且指定 post name。
$ curl http://mlwmlw.org --data-urlencode [email protected]
他原本的用法就是 @檔案名稱,就能指定要上傳的檔案了,現在加上 at 前面可以指定 POST 的 field name。
不然一般情況就用 -d @file.txt 就可以了
如果要搭配一些傳輸的時間資訊,可以加上 write-out 的參數,
$ curl -w '\nLookup time:\t%{time_namelookup}\nConnect time:\t%{time_connect}\nPreXfer time:\t%{time_pretransfer}\nStartXfer time:\t%{time_starttransfer}\n\nTotal time:\t%{time_total}\n' -o /dev/null --data-urlencode [email protected] -s http://mlwmlw.org
如果要測試一些 rest 的 api 可以指定 method
curl -X POST http://mlwmlw.org -d "name=1&test=2" curl -X GET http://mlwmlw.org curl -X DELETE http://mlwmlw.org curl -X PUT http://mlwmlw.org
在 windows 輸出空白可以用
$ curl.exe -w '...' -o NUL ...
參考資源: