前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >shell脚本批量调用接口

shell脚本批量调用接口

作者头像
我的小碗汤
发布2018-08-22 11:19:01
2.5K0
发布2018-08-22 11:19:01
举报
文章被收录于专栏:我的小碗汤

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

脚本如下:

代码语言:javascript
复制
#!/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
代码语言:javascript
复制
copyrequestbody = true
  • controller.go
代码语言:javascript
复制
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
代码语言:javascript
复制
package router

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

var hello = controller.SayHelloController{}

func init() {

    beego.Router("/", &hello, "POST:SayHello")
}
  • main.go
代码语言:javascript
复制
package main

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

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

我是小碗汤,我们来一起学习。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-05-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 进击云原生 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档