千家信息网

shell脚本中怎么批量调用接口

发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,今天就跟大家聊聊有关shell脚本中怎么批量调用接口,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。脚本如下:
千家信息网最后更新 2025年02月04日shell脚本中怎么批量调用接口

今天就跟大家聊聊有关shell脚本中怎么批量调用接口,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

脚本如下:

                 
#!/bin/bash
a=0
while [ $a -le 10 ]; do
# length of ts is 13 required,Through the following way like this
ts=`date +%s%N`
ts=${ts:0:13}

json='{"name" : "'$1$a'", "age" : '$2', "ts" : '$ts'}'

a=$((a+1))

curl -k -H 'Content-Type:application/json;charset=utf-8' http://192.168.2.5:8080 -X POST -d "'$json'"

done

批量curl脚本



执行脚本

sh batch_curl.sh gege 21

执行结果

10次curl执行结果


该接口是用go语言提供的demo接口:如下:

  • 目录结构:

目录结构


  • app.conf

copyrequestbody = true
  • controller.go

package controller

import (
"github.com/astaxie/beego"
"fmt"
)

type SayHelloController struct {
beego.Controller
}

func (this *SayHelloController) SayHello(){

fmt.Println("RequestBody is ", string(this.Ctx.Input.RequestBody))

this.Ctx.Output.Header("Content-type", "application/json;charset=utf-8")
this.Ctx.Output.SetStatus(200)
this.Ctx.Output.Body(this.Ctx.Input.RequestBody)
}
  • router.go

package router

import (
"github.com/astaxie/beego"
"sayHello/controller"
)

var hello = controller.SayHelloController{}

func init() {

beego.Router("/", &hello, "POST:SayHello")
}
  • main.go

package main

import (
"github.com/astaxie/beego"
_ "sayHello/router"
"fmt"
)

func main() {
fmt.Println(beego.BConfig.CopyRequestBody)
beego.Run()
}

看完上述内容,你们对shell脚本中怎么批量调用接口有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

0