package main
import (
"fmt"
"io"
"net/http"
"strings"
"sync"
"time"
)
func main() {
var wg sync.WaitGroup
numThreads := 80
targetTime := time.Date(2023, 7, 20, 12, 59, 59, 900, time.UTC)
now := time.Now()
waitTime := targetTime.Sub(now)
if waitTime < 0 {
fmt.Println("过时")
return
}
fmt.Printf("等待 %v 后开始抢购\n", waitTime)
time.Sleep(waitTime)
for i := 0; i < numThreads; i++ {
wg.Add(1)
go func(threadID int) {
defer wg.Done()
client := &http.Client{}
var data = strings.NewReader(`composeId=28`)
req, err := http.NewRequest("POST", "https://h5.xmykkj.xyz/prod-api/hc/cphcjk", data)
if err != nil {
fmt.Println(err)
}
req.Header.Set("authority", "h5.xmykkj.xyz")
req.Header.Set("accept", "*/*")
req.Header.Set("accept-language", "zh-CN,zh;q=0.9")
req.Header.Set("authorization", "Bearer eyJhbGciOiJIUzUxMiJ9.eyJqdGkiOiI1OTIxMiIsInN1YiI6IueOieW_l-aBkiIsImlhdCI6MTY4OTc4ODQ1MCwiaXNzIjoiQ1EiLCJleHAiOjE2OTAxMzg5MDgsIm9wZW5JZCI6IjQ1MjEyODIwMDExMDEyMTAxOSIsInN0YXR1cyI6Im5vcm1hbCIsImxvY2tUeXBlSWQiOjAsImxvY2tSZWFzb24iOiIiLCJpcCI6IjEwMC4xMjcuMTI4LjEzNyJ9.92spjioHoPXQ1ACFSV70Nlao6H1GAqBlkPoiB_uGJs7VaV9R750vt7Jpp4KI7tPXqS5ZbxZ0wEm2PiGgyL30Pw")
req.Header.Set("cache-control", "no-cache")
req.Header.Set("content-type", "application/x-www-form-urlencoded")
req.Header.Set("origin", "https://h5.xmykkj.xyz")
req.Header.Set("pragma", "no-cache")
req.Header.Set("referer", "https://h5.xmykkj.xyz/")
req.Header.Set("sec-fetch-dest", "empty")
req.Header.Set("sec-fetch-mode", "cors")
req.Header.Set("sec-fetch-site", "same-origin")
req.Header.Set("user-agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1")
resp, err := client.Do(req)
if err != nil {
fmt.Println(err)
}
defer resp.Body.Close()
bodyText, err := io.ReadAll(resp.Body)
if err != nil {
fmt.Println(err)
}
fmt.Printf("%s\n", bodyText)
}(i)
time.Sleep(time.Millisecond * 200)
}
wg.Wait()
fmt.Println("完成")
time.Sleep(60 * time.Second)
}