1、使用net/http
标准库来进行POST请求到第三方接口
package main
import (
"bytes"
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
)
func main() {
// 定义要发送的数据
data := map[string]string{"key": "value"}
jsonData, err := json.Marshal(data)
if err != nil {
fmt.Println("Error marshaling data:", err)
return
}
// 创建HTTP客户端
client := &http.Client{}
// 准备POST请求
req, err := http.NewRequest("POST", "https://example.com/api/endpoint", bytes.NewBuffer(jsonData))
if err != nil {
fmt.Println("Error creating request:", err)
return
}
req.Header.Set("Content-Type", "application/json") // 设置Content-Type头
// 发送请求
resp, err := client.Do(req)
if err != nil {
fmt.Println("Error sending request:", err)
return
}
defer resp.Body.Close()
// 读取并打印响应体
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
fmt.Println("Error reading response body:", err)
return
}
fmt.Println("Response:", string(body))
}