curl调用单笔接口结合shell循环实现批量操作

2022-09-15 10:30:34 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

shell脚本相关

使用shell脚本获取当前年月日时分秒,设置请求的时间

代码语言:javascript复制
echo $(date  %Y%m%d%H%M%S)

使用shell脚本生成随机数,请求中的随机数生成(此处我设置截取8位,结合md5)

代码语言:javascript复制
echo top -d 1 -n 1 |md5sum|cut -c 1-8

shell脚本字符串分割,例如获取一行字符串,根据”;”分割,获取对应的值,使用特殊的一些符号需要转义,比如此处的分号就需要,若使用常规的符号例如逗号就无需转义

结合上述的小知识点,使用curl发送post请求

准备要读取的文件,将所有请求一行一行进行区分,每笔交易的请求变量参数在一行里使用分隔符分割,此处我是用的是逗号

代码语言:javascript复制
#!/bin/bash
for line in $(cat $1)
do
    first=`echo ${line} | cut -d , -f 1`
    second=`echo ${line} | cut -d , -f 2`
    third=`echo ${line} | cut -d , -f 3`
    curl "http://192.168.236.1:7001/api/user/addUser" -H "Content-Type:application/json" -X POST -d '{
	"requestHead":{
	    "tranSeqNo":"tran'"$(date  %Y%m%d%H%M%S)"'AAAA'"$(top -d 1 -n 1 |md5sum|cut -c 1-8)"'",
	    "tranTime":"'"$(date  %Y%m%d)"'",
	    "tranDate":"'"$(date  %H%M%S)"'"
	},
	"requestBody":{
	    "id":$first,
	    "name":"'"$second"'",
	    "adress":"'"third"'",
	    "remark":"插入说明"
	}
    }' |grep -w '"message":"ok"'
    if [ $? -eq 0];then
	echo "success"
    else
        echo $line
	echo "fail"
    fi
done

再看看应用日志情况

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/163964.html原文链接:https://javaforall.cn

0 人点赞