GeXiangDong

精通Java、SQL、Spring的拼写,擅长Linux、Windows的开关机

0%

curl 常见用法汇总

CURL常用用法汇总。

GET 方法

调用GET方法最简单

1
curl  http://127.0.0.1:8080/tvseries/

增加 header user-agent

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

增加header 授权信息

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