| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 | package sendPostimport (	"bytes"	"encoding/json"	"errors"	"fmt"	"github.com/tidwall/gjson"	"io"	"net/http"	"strings")func SendPostRequest(urls string, payload interface{}) ([]byte, error) {	// 将 payload 转换为 JSON 字符串	marshal, err := json.Marshal(payload)	if err != nil {		return nil, errors.New("参数解析失败")	}	// 创建 POST 请求	req, err := http.NewRequest("POST", urls, bytes.NewBuffer(marshal))	if err != nil {		return nil, errors.New("设置请求参数失败")	}	req.Header.Set("Content-Type", "application/json")	// 发送请求	client := &http.Client{}	resp, err := client.Do(req)	if err != nil {		return nil, errors.New("发送请求失败")	}	defer resp.Body.Close()	// 读取响应体	all, err := io.ReadAll(resp.Body)	if err != nil {		return nil, errors.New("读取响应体失败")	}	// 打印原始响应体	fmt.Println("原始响应体:", string(all))	// 检查响应码	code := gjson.Get(string(all), "code").String()	if !strings.EqualFold(code, "0000") {		return nil, fmt.Errorf("响应码不是 0000")	}	return all, nil}
 |