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

curl调用单笔接口结合shell循环实现批量操作shell脚本相关获取年月日时分秒来设置请求的时间echo$(date+%Y%m%d%H%M%S)请求中的随机数生成,根据请求报文格式得知

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

shell脚本相关

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

echo $(date +%Y%m%d%H%M%S)

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

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

echo top -d 1 -n 1 |md5sum|cut -c 1-8

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

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

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

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

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

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

#!/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

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

 再看看应用日志情况

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

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • MMC卡知识「建议收藏」

    MMC卡知识「建议收藏」MMC卡:

    2022年6月3日
    27
  • android.app.Fragment$InstantiationException的原因分析

    android.app.Fragment$InstantiationException的原因分析每个Fragment必须要有一个无参构造方法,这样该Fragment在Activity恢复状态的时候才可以被实例化。强烈建议,Fragment的子类不要有其他含参构造方法,因为这些构造方法在Fragment重新实例化时不会被调用。取而代之的方式是,通过setArguments(Bundle)设置参数,然后通过getArguments获得参数。

    2022年7月16日
    15
  • QXDM 安装[通俗易懂]

    QXDM 安装[通俗易懂]http://download.microsoft.com/download/5/6/7/567758a3-759e-473e-bf8f-52154438565a/dotnetfx.exe

    2022年10月3日
    0
  • countdown倒计时安卓软件_倒计时显示装置设计

    countdown倒计时安卓软件_倒计时显示装置设计实现原理拿CountDownTimer的源代码看一下,并不复杂,基本上是对Handler的封装,使用send/postdelay。这套机制仍然首先于Handler的原理,所以在精度上也不能够保证很精确,只能保证不会早于预期执行。详见我另外一篇介绍Handlersend/postdelay的文章:HandlersendMessageDelayed()/postDelayed()机制详解。源…

    2022年9月13日
    0
  • 更改nginx默认端口_nginx查看端口

    更改nginx默认端口_nginx查看端口1、进入nginx.conf文件2、修改listen后的默认端口号改为想改的端口号(如下图)3、设置防火墙允许通过修改的端口号1、firewall-cmd–zone=public–add-port=90/tcp–permanent2、firewall-cmd–reload3、firewall-cmd–query-port=90/tcp4、在基于CentOS或RHEL的Linux发行版中,您需要安装policycoreutils软件包并添加SELinux对N

    2022年9月8日
    0
  • ubifs使能和禁止压缩_移植不成功胚胎去哪了

    ubifs使能和禁止压缩_移植不成功胚胎去哪了我在用TI的dm368开发板,kernel是2.6.32.17,默认的flash文件系统是jffs2,但是jffs2在大分区下,mount速度很慢,而且占用ram较多,因此,我想使用ubifs看看性能是否会更好些。ubifs的原理和配置过程,很多网页都有介绍的,我给一个链接,大家可以看看,我就不转载了,我重点说我移植过程中遇到并解决的问题。http://bbs.chinaunix.net/

    2022年8月13日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号