close

* 使用basic認證 帳號:密碼

curl --user user:password http://192.168.101.192/

* 告知存取 zh-tw 網頁

curl -H "Accept-Language: zh-tw"

* 取得網頁內容, 將cookie另存新檔 (參數 -D)

curl http://www.example.com -D savecookie.txt

* 使用指定的cookie來取得網頁內容 (參數 -b)

curl -b usecookie.txt http://www.example.com

* 指定使用POST method取得網頁內容 (參數 -d)

curl -d "user=xxx&password=1234" http://example.com/login.cgi

* 設置用戶代理

curl -A "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)" http://www.example.com

* 跟隨並下載(Dropbox的資料夾分享下載,要將dl改成1)

curl -L -o ab.zip https://www.dropbox.com/sh/zls0quiliwzo82e/AAC_Co6-7dxl8M-vOFGTc_0ua?dl=1

* GET/POST/PUT/DELETE使用方式

X 後面加 http method,
curl -X GET "http://www.rest.com/api/users"
curl -X POST "http://www.rest.com/api/users"
curl -X PUT "http://www.rest.com/api/users"
curl -X DELETE "http://www.rest.com/api/users"

* HTTP Parameter

http參數可以直接加在url的query string,也可以用-d帶入參數間用&串接,或使用多個-d

# 使用`&`串接多個參數
curl -X POST -d "param1=value1¶m2=value2"
# 也可使用多個`-d`,效果同上
curl -X POST -d "param1=value1" -d "param2=value2"
curl -X POST -d "param1=a 0space"     
# "a space" url encode後空白字元會編碼成'%20'為"a%20space",編碼後的參數可以直接使用
curl -X POST -d "param1=a%20space"     

* post json 格式得資料

如同時需要傳送request parameter跟json,request parameter可以加在url後面,json資料則放入-d的參數,然後利用單引號將json資料含起來(如果json內容是用單引號,-d的參數則改用雙引號包覆),header要加入”Content-Type:application/json”跟”Accept:application/json”

curl http://www.example.com?modifier=kent -X PUT -i -H "Content-Type:application/json" -H "Accept:application/json" -d '{"boolean" : false, "foo" : "bar"}'
# 不加"Accept:application/json"也可以
curl http://www.example.com?modifier=kent -X PUT -i -H "Content-Type:application/json" -d '{"boolean" : false, "foo" : "bar"}'

參考

http://blog.kent-chiu.com/2013/08/14/testing-rest-with-curl-command.html

arrow
arrow
    文章標籤
    指令集 curl
    全站熱搜

    Perry Wu 發表在 痞客邦 留言(0) 人氣()