今天有一个需求,要直接在linux上访问接口,借此学会了curl和wget的使用
系统学习
如果想系统的学习一下可以看阮一峰大佬的博客,里面写得相当的详细:
《curl网站开发指南》
http://www.ruanyifeng.com/blog/2011/09/curl.html
《curl 的用法指南》
http://www.ruanyifeng.com/blog/2019/09/curl-reference.html
比较常用的请求
这里我记录一些比较常用的,不用每次都去翻手册
使用GET请求并且携带参数
curl -v http://127.0.0.1:80/demo?version=1&name=jojo&age=18&sex=1
上述命令在linux系统,get请求携带的参数只到version=1,”&”符号在linux系统中为后台运行的操作符,此处需要使用反斜杠”\”转义,即:
curl -v http://127.0.0.1:80/demo?version=1\&name=jojo\&age=18\&sex=1
或者
curl -v "http://127.0.0.1:80/demo?version=1&name=jojo&age=18&sex=1"
使用POST请求并携带参数
1、使用curl命令,通过-d参数,把访问参数放在里面,如果没有参数,则不需要-d,
curl -d "username=dio&password=jojo" "http://127.0.0.1:80/demo"
2、使用wget命令
wget –post-data 'username=dio&password=jojo' http://127.0.0.1:80/demo
3、发送格式化json请求
curl -i -k -H "Content-type: application/json" -X POST -d '{"version":"1", "name":"jojo", "age":"18","sex":"1"}' http://127.0.0.1:80/demo
**
常用参数说明
**
- -i 参数打印出服务器回应的 HTTP 标头。
- -I参数向服务器发出 HEAD 请求,然会将服务器返回的 HTTP 标头打印出来。
- -k参数指定跳过 SSL 检测。
- -o参数将服务器的回应保存成文件,等同于wget命令。
$ curl -o example.html https://www.example.com
上面命令将www.example.com保存成example.html。
-
-v参数输出通信的整个过程,用于调试。
-
-H参数添加 HTTP 请求的标头。
-
-O参数将服务器回应保存成文件,并将 URL 的最后部分当作文件名。
$ curl -O https://www.example.com/foo/bar.html
上面命令将服务器回应保存成文件,文件名为bar.html。