$curl http://192.168.1.99:8089/devices -X GET -H 'Content-Type: application/json' -H 'Accept: application/json' -d '{"nodeName": "192.168.1.111","containerId": "579"}'
{"status":1,"message":"ok","data":{"gpuId":5,"devUUID":"GPU-34dfc5f0-f402-900b-9e86-626a85d69686"}}
package mainimport (
"bytes"
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
)
type DeviceRequest struct {
NodeName string `json:"nodeName"`
ContainerId string `json:"containerId"`
}
type ApiResponse struct {
Status int `json:"status"`
Message string `json:"message"`
Data struct {
GpuId int `json:"gpuId"`
DevUUID string `json:"devUUID"`
} `json:"data"`
}
func main() {
// 创建请求数据
requestData := DeviceRequest{
NodeName: "192.168.1.111",
ContainerId: "d545d2da",
}
// 将请求数据序列化为JSON
jsonData, err := json.Marshal(requestData)
if err != nil {
fmt.Println("Error marshalling request data:", err)
return
}
// 创建HTTP请求
url := "http://192.168.1.99:8089/devices"
req, err := http.NewRequest("GET", url, bytes.NewBuffer(jsonData))
if err != nil {
fmt.Println("Error creating request:", err)
return
}
// 设置请求头
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Accept", "application/json")
// 发送请求
client := &http.Client{}
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
}
// 解析响应数据
var apiResponse ApiResponse
err = json.Unmarshal(body, &apiResponse)
if err != nil {
fmt.Println("Error unmarshalling response body:", err)
return
}
// 打印响应数据
fmt.Printf("%+v\n", apiResponse)
}
GO语言用http包发送带json文本body的GET请求
平沙落雁子2024-07-22 13:56
相关推荐
被摘下的星星35 分钟前
HTTP 状态码 和 网络端口号云边云科技_云网融合35 分钟前
生物医疗跨院区影像与诊疗数据传输:高带宽与合规双重目标下的网络搭建指南ESDWAN38 分钟前
企业组网后网络频繁掉线,常见故障排查指南崽崽..1 小时前
大端存储和小端存储的区别以及与网络编程的联系迪康Defender1 小时前
终端安全实践:浅谈端点安全管理系统内置终端防火墙能力AI备忘录1 小时前
(二十二)华为华三锐捷迈普思科 802.1X 端口认证配置命令(网络准入五厂商对照)优化Henry2 小时前
LTE站点以太网光模块告警处理实践数字新视界2 小时前
2026机房动环监控选型指南:场景规模需求、市场发展占有率和竞争梯队报告解析我不是程序员三三2 小时前
企业风控实战:文件外发控制软件如何补齐数据泄露的出口短板傲世仙尊2 小时前
序列化与自定义协议-把结构体拆成字节流再拼回来