package request import ( "bytes" "context" "fmt" "io" "net/http" "time" ) func Request(_ context.Context, method, url string, body []byte) ([]byte, http.Header, error) { req, err := http.NewRequest(method, url, bytes.NewBuffer(body)) if err != nil { return nil, nil, err } httpClient := &http.Client{ Timeout: 15 * time.Second, } resp, err := httpClient.Do(req) if err != nil { return nil, nil, err } defer resp.Body.Close() bodyBytes, err := io.ReadAll(resp.Body) if err != nil { return nil, nil, err } if resp.StatusCode != http.StatusOK { return nil, nil, fmt.Errorf("请求异常:%s", resp.Status) } return bodyBytes, resp.Header, nil }