package script import ( "bytes" "fmt" "io" "net/http" "time" ) const ( URL = "http://127.0.0.1:15000/voucher/timeSliceQueryPush" DEV_URL = "http://open.cszfan.com/voucher/cmb/timeSliceQueryPush" PRO_URL = "https://voucher.86698.cn/voucher/cmb/timeSliceQueryPush" ) const ( SINGLE_URL = "http://127.0.0.1:15000/voucher/pushWechatQuery" DEV_SINGLE_URL = "http://open.cszfan.com/voucher/cmb/pushWechatQuery" PRO_SINGLE_URL = "https://voucher.86698.cn/voucher/cmb/pushWechatQuery" ) func script(startTime, endTime time.Time, duration time.Duration, body []byte, URL string) error { // 每指定间隔时间发送一次请求 for t := startTime; t.Before(endTime); t = t.Add(duration) { end := t.Add(duration) // 计算每次请求的结束时间 // 发送请求 if err := sendRequest(t, end, body, URL); err != nil { fmt.Printf("Error sending request: %v\n", err) } // 等待一段时间后再发送下一个请求 time.Sleep(1 * time.Second) // 可以根据需要调整间隔时间 } return nil } func sendRequest(startTime, endTime time.Time, body []byte, URL string) error { resp, err := http.Post(URL, "application/json", bytes.NewBuffer(body)) if err != nil { return fmt.Errorf("failed to send POST request: %v", err) } defer resp.Body.Close() bodyBytes, err := io.ReadAll(resp.Body) if err != nil { return fmt.Errorf("读取响应体失败: %w", err) } if resp.StatusCode == http.StatusOK { fmt.Printf("Request sent successfully,body:%s", string(bodyBytes)) } return fmt.Errorf("failed with status code: %d", resp.StatusCode) }