一个简单的本地测试秒杀的脚本
package main import ( "encoding/csv" "fmt" "io/ioutil" "net/http" "net/url" "os" "strings" "sync" ) func main() { var wg sync.WaitGroup url2 := "your.api.url" // 读取CSV文件,这里面生成了访问的token file, err := os.Open("test_member_local.csv") if err != nil { fmt.Println(err) return } defer file.Close() reader := csv.NewReader(file) tokens, err := reader.ReadAll() if err != nil { fmt.Println(err) return } // 设置POST参数 data := url.Values{} data.Set("product_id", "3") data.Set("address_id", "798") data.Set("address", "广东省深圳市南山区街道123号") data.Set("receiver_name", "qwqqwqw") data.Set("receiver_phone", "qwqqwqw") data.Set("use_balance", "1") data.Set("use_coupon", "0") data.Set("coupon_user_get_id", "0") data.Set("pay_channel", "") type Response struct { Data struct { Code int `json:"code"` } `json:"data"` } // 创建HTTP客户端 client := &http.Client{} for k, token := range tokens { if k == 0 { continue } fmt.Println() wg.Add(1) go func(token string) { defer wg.Done() // 创建HTTP请求 req, err := http.NewRequest("POST", url2, strings.NewReader(data.Encode())) if err != nil { fmt.Println(err) return } // 设置请求头部 req.Header.Add("Content-Type", "application/x-www-form-urlencoded") req.Header.Add("Authorization", "Bearer "+token) // 发送HTTP请求 resp, err := client.Do(req) if err != nil { fmt.Println(err) return } defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println(err) return } fmt.Println(string(body)) }(token[4]) } wg.Wait() } 版本:go1.9
运行环境:windows

本作品采用《CC 协议》,转载必须注明作者和本文链接
关于 LearnKu