继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

shell脚本批量调用接口

码农实战
关注TA
已关注
手记 100
粉丝 5
获赞 22

正文

  要求在页面查询到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()
}

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP