curl常用功能
本文介紹curl的:
1)參數被截斷;
2)自動轉義編碼;
3)如何發GET和POST;
參數被截斷
若欲發送:curl http://host:port/test?a=1&b=2
curl會將其作為兩條命令發送,此時需要對參數分割符&進行轉義(見http://blog.csdn.net/top_code/article/details/41447281),即改為
?
curl http://host:port/test?a=1\&b=2?
或者
?
curl "http://localhost:8080/test/param?a=1&b=2"?
自動轉義編碼(限POST方式);
http參數中的特殊字符(如[]{}+ 等)需要特殊處理,即替換為%ASCII碼(見http://blog.csdn.net/hellochenlian/article/details/38512781)。
curl命令可以自動完成這一工作,僅限POST方式,GET方式需要使用者自行轉換。
若欲發送:http://host:port/test/{"a":123.0,"b":["456"]},可執行命令:
?
curl http://localhost:8080/test/%7B%22a%22%3A123%2C%22b%22%3A%5B%22456%22%5D%7D?
或
?
curl -H "Content-Type: application/json" -X POST --data '{"a":123,"b":["456"]}' http://localhost:8080/test?
通過GET和POST發送
使用-X POST或--data、--data-*參數來指定POST方式發送,如:
?
curl -H "Content-Type: application/json" -X POST --data '{"a":123,"b":["456"]}' http://localhost:8080/test?
或
?
curl --data "a" http://localhost:8080/test?
?
其余情況為GET方式,如
?
curl http://localhost:8080/test/%7B%22a%22%3A123%2C%22b%22%3A%5B%22456%22%5D%7D?
?
curl常用命令還可以參考http://www.cnblogs.com/gbyukg/p/3326825.html
總結
- 上一篇: 用 Gearman 分发 PHP 应用程
- 下一篇: linux shell trap的使用