curl
说明:curl命令是一个功能强大的网络工具,它可以发送http、ftp等请求,故可以用来上传、下载文件。
格式:curl [参数] url地址
参数:
-X 指定请求方式,默认为get。
-H/--header 设置请求头,多个参数则使用多个-H指定。-H "Content-Type: application/json; charset=utf-8" -H "X-AUTH-USER:admin"
-d/--data 请求方式为post时,使用该选项来传递请求的参数。注:get请求时,该选项失效。
json格式: -d '{"key":"value"}'
表单格式: -d 'aaa=11&bb=22'
-u 指定Authorization信息。eg:-u 'username:password'
-v 显示详细执行信息
-s/--slient 减少输出的信息,例如进度等。
-m/--max-time <seconds> 指定处理的最大时长,单位秒
-I/--head 仅返回头部信息
-i 返回头部信息和响应结果
-o/--output <file> 将响应的结果保存到指定的文件中
-w 在一次完整且成功的操作后输出指定格式的内容到标准输出,输出变量需要按照%{variable_name}的格式
举例:
访问接口:
get方法:
无参数:
curl http://localhost:8080/test/getMethod
有参数:
curl 'http://localhost:8080/test/getMethod?aaa=11&bb=22'
post方法:
json格式:
curl -X post http://localhost:8080/test/postMethod -d '{"uuid":"asdf"}' -H "Content-Type: application/json"
表单格式:
curl -X post http://localhost:8080/test/postMethod -d 'aaa=11&bb=22' # 默认application/x-www-form-urlencoded
curl -X post http://localhost:8080/test/postMethod -d aaa=11 -d bb=22
将参数写到文件中:
curl -X post http://localhost:8080/test/postMethod --data-binary @/jxn/param.json -H "Content-Type: application/json"
将参数编码:
curl -X post http://localhost:8080/test/postMethod --data-urlencode 'aaa=11&bb=22'
其它:
仅显示http响应头: curl -I https://www.baidu.com
显示http响应头和响应内容: curl -i https://www.baidu.com
将请求的结果保存到指定文件中: curl -o ./temp.txt https://www.baidu.com
获取http状态码: curl -s -o /dev/null -w %{http_code}"\n" https://www.baidu.com
补充:/dev/null称为空设备,它丢弃一切写入其中的数据,且报告写入操作成功。读取它则会立即得到一个EOF。通常被用于丢弃不需要的输出流。
wget
说明:wget命令用来从指定的URL下载文件。
格式:curl [参数] 文件地址(http或ftp)
参数:
-r 递归下载
-l/--level=NUMBER 递归的层数(inf或0表示无限制)
-nH 不要创建主(host)目录
–cut-dirs=NUMBER 忽略NUMBER层远程目录。
eg:
--cut-dirs=3 jxn@jxn.product.com:/data/test/dirA/ 则下载的产出是 dirA/
--cut-dirs=2 jxn@jxn.product.com:/data/test/dirA/ 则下载的产出是 test/dirA/
-O filename 将下载的内容写入到filename中
-o logname 将wget运行的日志写入到logname中
--user 用户名
--password 密码
--preserve-permissions 保留远程文件的权限
--header 指定请求头。eg:--header "mytoken:asdf"
举例:
wget -r --level=0 -nH --cut-dirs=2 jxn@jxn.product.com:/data/test/ --user jxn --password jxn123 --preserve-permissions
wget -O myindex.html www.baidu.com
wget -o log.txt www.baidu.com