跳过正文
shell脚本批量调用接口
  1. Posts/

shell脚本批量调用接口

·206 字·1 分钟· · ·
Shell
小碗汤
作者
小碗汤
云原生搬砖师
Table of Contents

图片描述: 100

正文
#

  要求在页面查询到5000条数据,为了方便插入,用shell脚本写curl命令调用自己写的代码接口;

脚本如下:

#!/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()
}
-------莫愁前路无知己 天下谁人不识君-------

相关文章

go语言生成可执行文件
·629 字·2 分钟·
Golang
linux通过VMware和主机相连连接互联网
·270 字·1 分钟·
Linux
利用procedure批量插入数据
·506 字·2 分钟·
Mysql
采坑指南——k8s域名解析coredns问题排查过程
·1652 字·4 分钟·
Kubernetes
史上最全docker基础知识汇总
·4193 字·9 分钟·
Docker
docker镜像制作必备技能
·819 字·2 分钟·
Docker

公众号二维码