安装
请戳这里下载,根据使用的平台,下载适用的版本即可。
想全面了解可以下载一个说明文件:everything-curl
常用命令
# 查看版本
$ curl -V
# 用于打印更多信息,包括发送的请求信息
$ curl -v www.baidu.com
# 将操作痕迹保存到dump文件中
$ curl --trace dump www.baidu.com
下载文件
# 保存文件,指定文件名
$ curl -o fileName http://sample.com/test.jpg
# 保存文件,未指定文件名,使用默认的
$ curl -O http://img.sccnn.com/bimg/339/15020.jpg
# 保存文件,为指定文件名,可以同时下载多个文件,文件名从12到22
$ curl -O http://img.sccnn.com/bimg/339/150[20-30].jpg
# 保存文件,为指定文件名,可以同时下载多个文件,文件名从12到22,使用步长3
$ curl -O http://img.sccnn.com/bimg/339/150[20-30:3].jpg
# 按照指定格式返回文件名
$ curl -o file#1.jpg http://img.sccnn.com/bimg/339/150[20-30:3].jpg
# 其他演示,文件名使用正规表达式
$ curl -O http://example.com/section[a-z].html
$ curl -O http://example.com/{one,two,three,alpha,beta}.html
使用配置文件
当参数比较多的时候,可以指定配置文件
# 通过配置文件
$ curl -K config.txt www.baidu.com
配置文件config.txt的内容
# this is a comment, we ask to follow redirects
--location
# ask to do a HEAD request
--head
FTP类型
获取FTP数据的时候,需要指定类型
# ftp登录
$ curl -u user:pass ftp://sample.com
# 使用AscII进行传输
curl "ftp://example.com/foo;type=A"
# 使用二进制进行传输
curl "ftp://example.com/foo;type=I"
# 传输目录
curl "ftp://example.com/foo;type=D"
http操作
- Post的提交方法
# post的提交方法
$ curl -d "loginId=139&password=111111" http://posttest.com
$ curl -d loginId=139 -d password=111111 http://posttest.com
# 参数写入文件中
$ curl -d @param.txt http://posttest.com
# 设置类型,默认使用application/x-www-form-urlencoded
$ curl -d '{json}' -H 'Content-Type: application/json' https://example.com
# Post二进制文件
$ curl --data-binary @filename http://example.com/
# 进行URL编码
$ curl --data-urlencode "test1=lxm&abc" http://localhost:8080/post
参数文件的书写方法
test1=这是第一个参数&
test2=这是第二个参数
- 特殊动作的提交方法
通过-X指定方法
curl http://localhost:8080/put -X PUT -d "test1=param1"