CURL常用用法汇总。
GET 方法
调用GET方法最简单
1
| curl http://127.0.0.1:8080/tvseries/
|
1
| curl -H "user-agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0“ http://localhost:8080
|
1
| curl -H "Authorization: Bearer 7e161a1a-4590-4696-9d90-516c54113906" http://localhost:8080/api/exam
|
显示详细信息 -v
增加 -v 参数可以显示连接过程的详细信息,发送和接收到的HTTP头信息等等,如果不增加 -v,只显示 http response body部分内容
1
| curl -v http://localhost:8080
|
POST 方法
1
| curl -H "Content-Type:application/json" -X POST --data '{"name": "West World", “originRelease":"2016-10-02"}’ http://127.0.0.1:8080/tvseries/
|
上面的data参数是用的单引号包含起来的,内容json部分有双引号。这种写法在windows下可能会出错,需要用双引号,改成如下方式:
1
| curl -H "Content-Type:application/json" -X POST --data "{\"name\": \"West World\", \“originRelease\":\"2016-10-02\"}\" http://127.0.0.1:8080/tvseries/
|
DELETE 方法
1
| curl -X DELETE https://127.0.0.1:8080/tvseries/23/
|
PUT 方法
1
| curl -H “Content-Type:application/json” -X PUT —data ‘{“name”: “Person of Interest”} http://127.0.0.1:8080/tvseries/33/
|
PUT 方法同 POST 方法,一般需要指定传输的数据。
提交压缩格式的post body
需要服务端支持才可,并不是标准的HTTP服务。
使用临时文件,需要2个命令,先创建一个压缩文件,后发送:
1 2 3 4
| echo '{ "mydummy" : "json" }' | gzip > body.gz
curl -v -i http://127.0.0.1:8080/ss -H 'Content-Encoding: gzip' -H 'Content-Type:application/json' --data-binary @body.gz
|
或者使用管道符合并到一行上
1 2
| echo '{"type": "json", "length": 2222}' | gzip | curl -H "Content-Type: application/json" -H "Content-Type: gzip" -X POST -d @- http://127.0.0.1:8080/ss
|