• 模拟开户接口,使用shell脚本实现批量用户开通


    1、目的

    通过模拟接口方法,实现批量用户开通

    2、分析

    A、接口含body和head部分,其中body中的某些变量为必填字段,包含用户的信息,接口可整理成body.xml、head.xml文件。

    B、用户信息清单可以整理成list.txt文件。

    C、逐行读取list.txt文件,将其用户信息对应替换到body.xml文件中。然后使用curl方法发送接口信息。

    D、将开户结果输出至result.log文件。

    3、脚本实现

     1 #! /bin/sh
     2 
     3 Bxml=`dirname $0`/body.xml
     4 Hxml=`dirname $0`/head.xml
     5 File=`dirname $0`/list.txt
     6 Rfile=`dirname $0`/result.log
     7 
     8 echo "Error output ${Rfile}."
     9 echo "START ..."
    10 echo "" > ${Rfile}
    11 
    12 while read LINE; do
    13 
    14     tel=`echo $LINE | awk '{print $1}'`
    15     stbid=`echo $LINE | awk '{print $2}'`
    16 
    17     Phone=${tel}
    18     Stbid=${stbid}
    19     Date=`date +20%y%m%d%H%M%S`
    20     PkgSeq=${Date}
    21     Seq=`awk 'BEGIN{srand();print rand()*1000000}'`
    22 
    23 
    24     sed -i  "s/<PkgSeq>.*</PkgSeq>/<PkgSeq>${Date}</PkgSeq>/g" ${Bxml}
    25     sed -i  "s/<IDV>.*</IDV>/<IDV>${Phone}</IDV>/g" ${Bxml}
    26     sed -i  "s/<OprT>.*</OprT>/<OprT>${Date}</OprT>/g" ${Bxml}
    27     sed -i  "s/<Seq>.*</Seq>/<Seq>${Seq}</Seq>/g" ${Bxml}
    28     sed -i  "s/<StbID>.*</StbID>/<StbID>${Stbid}</StbID>/g" ${Bxml}
    29     sed -i  "s/<Account>.*</Account>/<Account>${Phone}</Account>/g" ${Bxml}
    30     sed -i  "s/<EffetiTime>.*</EffetiTime>/<EffetiTime>${Date}</EffetiTime>/g" ${Bxml}
    31 
    32     sed -i  "s/<TransIDOTime>.*</TransIDOTime>/<TransIDOTime>${Date}</TransIDOTime>/g" ${Hxml}
    33 
    34 
    35     curl -v  --connect-timeout 3 -F "xmlhead=@head.xml;type=text/plain; charset=UTF-8" -F "xmlbody=@body.xml;type=text/plain; charset=UTF-8" http://IP:6600/bossManagement 2>/dev/null
    36     ret=$?
    37     if [ $ret -ne 0 ]; then
    38         echo "$LINE error($ret)"
    39         echo "$LINE error($ret)" >> ${Rfile}
    40     fi
    41         sleep 2
    42 done < ${File}
    43 
    44 
    45 echo "END"
  • 相关阅读:
    删库了一定要跑路吗?爱情 36 技之记忆重生!
    程序员和他的朋友们!
    聊起 BigTable,让你不再胆怯
    [Ant Design] Warning: Instance created by `useForm` is not connected to any Form element. Forget to pass `form` prop?
    Git 常用命令
    Git 名词解释
    js中void 0和undefined的区别
    js运算符优先级
    搭建React项目(低配版)
    mac常用shell指令笔记
  • 原文地址:https://www.cnblogs.com/wenquanli/p/9717162.html
Copyright © 2020-2023  润新知