CURL 是一个利用URL语法在命令行下工作的文件传输工具,1997年首次发行。它支持文件上传和下载,所以是综合传输工具,但按传统,习惯称 CURL 为下载工具。
有时,我们会局限于环境,无法使用 postman,swgger 等开发工具来测试接口,所以只能通过 curl 命令来测试我们的接口。因此,掌握 curl 的使用也是一项非常重要的技能。
查看网页源码
使用curl 拼接网页地址,可以查看网页的源码,如
curl http://www.baidu.com
显示请求过程
使用参数 -v 可以在控制端显示整个curl的请求过程,如
curl -v http://www.baidu.com
指定请求方法
使用参数 -X 加请求方法类型,如
curl -X GET http://localhost:8080/getUser
curl -X POST http://localhost:8080/addUser
添加请求头部
使用参数 -H 可以添加请求的头部,多个头部信息需要使用多个 -H,如
curl -X POST http://localhost:8080/addUser
-H "accept: */*"
-H "Authorization: eyJhbGciOiJIUzUxMiJ9.eyJ"
使用form表单提交数据
使用参数-F 可以添加表单数据,多个字段需使用多个-F,如
curl -X POST http://localhost:8080/addUser
-H 'Content-Type: application/x-www-form-urlencoded'
-H 'content-type: multipart/form-data; '
-F username=hello
-F password=123465
传递多参数并进行urlencode
curl -X POST http://localhost:8080/addUser
--data-urlencode "username=root"
--data-urlencode "password=13456"
上传文件
使用参数-F "files=@文件路径"可以上传文件,如
curl -X POST "http://localhost:8080/uploadFile"
-H "accept: */*"
-H "Content-Type: multipart/form-data"
-F "files=@/home/csdn/upload/hello.txt"
-F files=@/home/csdn/upload/hello.jpg"
下载文件
- 使用参数 -O 可以下载远程服务的某个文件,以返回的文件名称命名。如:
curl -X GET "http://localhost:8080/downloadFile/123.jpg" -H "accept: */*" -O
- 使用参数-o可以指定文件保存的文件名,如
curl -X GET "http://localhost:8080/downloadFile/123.jpg" -H "accept: */*" -o hello.jpg
- 使用参数 --progress 可以显示下载的进度
指定用户端
有些网络资源首先需要判断用户使用的是什么浏览器,符合标准了才能够下载或者浏览。使用参数-A 可以把自己“伪装”成任何其他浏览器,如
curl -A "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)" URL
学习网址:
其他参数的使用可参考以下网址:
- curl 主页:https://curl.haxx.se/docs/manpage.html
- curl http 指引:https://curl.haxx.se/docs/httpscripting.html
- curl简单使用:https://curl.haxx.se/docs/manual.html
- 其他网址:http://linux.51yip.com/search/curl