1:linux下执行curl命令发送post请求
1 |
curl -X POST -H "Content-Type: application/json" -H "referer:http://localhost" http://localhost:8080/test/file/import -d '{"param":"20210608"}' |
H表示请求头,-d表示参数
参考案例:
1 |
curl -v http://localhost:8080/JsonSendSms -d '{"mobile":"100000000000","password":"111111111","smsID":"12345678999","smscontent":"this is a test2"}' -X POST -H "Content-Type: application/json" -k |
说明:
2:linux下shell脚本中传递动态参数
1 2 |
param="20210608"; curl -X POST -H "Content-Type: application/json" -H "referer:http://localhost" http://localhost:8080/test/file/import -d '{"param":"'${param}'"}' |
说明:
若参数过长则放到文件中
步骤一:在执行路径下,新建文件如param.json
说明:文件中的内容为json参数内容,无需进行转义
步骤二: 执行命令
1 |
curl -X POST -H "Content-Type: application/json" -H "referer:http://localhost" http://localhost:8080/test/file/import -d @param.json |
linux下shell脚本中动态传递参数
前言:
我们经常会写shell脚本,并放到linux系统中,执行shell脚本中的命令,远程调用某个http请求,下面讲解一下如何调用,及在shell脚本中如何动态传递参数
步骤一:创建一个task.sh文件,代码如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
task1() { echo "**********demo1**********" curl -X POST -H "Content-Type: application/json" -H "referer:http://localhost" http://localhost:8080/file/import -d '{"param":"'$2'"}' } task2() { echo "********** demo2 **********" curl -X POST -H "referer:http://localhost" http://localhost:8080/file/export } case "$1" in "1") task1 $1 $2;; "2") task2;; esac |
步骤二:在linux中进入到task.sh同一目录下,然后执行命令。
示例1: ./task.sh 1 demo.jpg
示例2: ./task.sh 2
下面是shell脚本中读取参数的其中一种方式:
采用 $0,$1,$2..等方式获取脚本命令行传入的参数,值得注意的是,$0 获取到的是脚本路径以及脚本名,后面按顺序获取参数,当参数超过10个时(包括10个),需要使用${10},${11}....才能获取到参数,但是一般很少会超过10个参数的情况。
from:https://blog.csdn.net/weixin_49114503/article/details/119679741