Curl 上傳檔案

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 file@httpd.conf

他原本的用法就是 @檔案名稱,就能指定要上傳的檔案了,現在加上 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 file@test.txt -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 ...

參考資源:

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *