go语言http协议post方法样例调用
2023-12-13 10:44:22
一、导包和结构体创建
package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
)
//此处结构体根据实际情况定义
type RequestParams struct {
Page int `json:"page"`
Size int `json:"size"`
Topic string `json:"topic"`
}
二、主函数调用
根据调用的实际情况进行传参:
func main() {
// 创建请求参数
// go语言中最后一个参数需要保留,
params := RequestParams{
Page: 1,
Size: 10,
Topic: "BATTERY",
}
// 将请求参数编码为JSON格式
jsonData, err := json.Marshal(params)
if err != nil {
fmt.Println("JSON编码失败:", err)
return
}
// 发送POST请求
url := "https://aaa/list" // 替换为实际的URL
//bytes.NewBuffer(jsonData) 为post请求需要的参数
resp, err := http.Post(url, "application/json", bytes.NewBuffer(jsonData))
if err != nil {
fmt.Println("POST请求失败:", err)
return
}
defer resp.Body.Close()
// 读取响应内容
//老版本可以这么读取
//body, err := ioutil.ReadAll(resp.Body)
body, err := io.ReadAll(resp.Body)
if err != nil {
fmt.Println("读取响应失败:", err)
return
}
// 打印响应内容
fmt.Println("响应内容:", string(body))
}
文章来源:https://blog.csdn.net/m0_37570494/article/details/134826700
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!