当前位置: 首页 > news >正文

音乐网站建设价格6wordpress不能更新

音乐网站建设价格6,wordpress不能更新,网络推广可做哪些方面,网页游戏传奇类哈喽大家好,我是陈明勇,今天分享的内容是 Go HTTP 调用。如果本文对你有帮助,不妨点个赞,如果你是 Go 语言初学者,不妨点个关注,一起成长一起进步,如果本文有错误的地方,欢迎指出&am…

哈喽大家好,我是陈明勇,今天分享的内容是 Go HTTP 调用。如果本文对你有帮助,不妨点个赞,如果你是 Go 语言初学者,不妨点个关注,一起成长一起进步,如果本文有错误的地方,欢迎指出!

前言

无论是微服务还是单体架构等,服务间都有相互通信的时候,而最直接的通信方法就是 HTTP 调用,本文将会介绍在 Go 语言里,如何进行 HTTP 调用,并举例说明。

前置知识

HTTP 调用需要通过 http 包里的 Client 结构体里的 Do 方法去实现,因此需要先声明一个 Client 结构体变量,该结构体可以设置超时时间等配置。
对于一个请求里的 URL,查询参数,请求 method 等参数,需要 http 包里的 Request 结构体去封装。我们可以通过 NewRequestWithContext 或 NewRequest 函数获取一个基础的 Request 结构体指针变量。

NewRequestWithContext(ctx context.Context, method, url string, body io.Reader) (*Request, error)

参数 ctx 为 Context 的接口类型,任意实现 Context 接口的自定义类型都可以作为此参数传递。
参数 method 为 HTTP 方法参数,可选值有 GET、POST、DELETE、PUT等。
参数 url 为接口的请求路径。
参数 body,为请求体参数。

通过 client.Do(req) 方法调用之后,返回值有 (*Response, error),第一个是响应结构体参数,第二个是错误参数。通过读取 Response 的 body 的值,可以获取接口的响应体。

GET 请求

import ("context""fmt""io""net/http"
)func main() {client := http.Client{}request, err := http.NewRequestWithContext(context.Background(), http.MethodGet, "http://localhost:8080/user?name=tom", nil)if err != nil {return}request.Header.Set("headerParam", "header")resp, err := client.Do(request)if err != nil {fmt.Println(err)return}bytes, err := io.ReadAll(resp.Body)if err != nil {return}defer resp.Body.Close()fmt.Println(string(bytes)) // {"code":0,"data":{"list":[{"name":"小明","age":20},{"name":"小红","age":18}]},"message":"success"}
}

需要携带查询参数时,可以直接拼接在 url 字符串上面。
header 参数可以通过 request 结构体的 Header 字段的 set 方法或 add 方法进行设置。
HTTP 请求响应码可以通过 Response 的 StatusCode 字段进行查看。
接口请求成功之后,通过 io.ReadAll 方法,读取 resp.Body 响应体信息。
除了直接在 url 上拼接 query 参数的方式,我们还可以通过以下方式进行添加 query 参数

params := url.Values{}
rawUrl, err := url.Parse("http://localhost:8080/user")
if err != nil {return
}
params.Set("name", "tom")
rawUrl.RawQuery = params.Encode()
u := rawUrl.String()

通过 url.Values 结构体的 set 方法设置 query参数,url 通过 url.Parse 函数生成一个 URL 结构体指针变量,rawUrl.RawQuery = params.Encode() 通过这行代码将 query 参数和 url 进行绑定,最后通过 String() 方法将 url 转换成 string 类型。

小结

本文介绍了在 Go 语言里如何进行 HTTP 调用,需要通过 http 包里的 Client 结构体变量,调用其方法 Do 进行 HTTP 调用,在 HTTP 调用前,需要通过 http 包里的 Request 结构体封装请求路径和请求参数。最后通过 GET 请求案例讲述了 query 参数和 header 参数如何设置,以及响应体的获取方法。

http://www.yayakq.cn/news/281053/

相关文章:

  • 网站建设建站知识在线crm管理系统
  • 武进网站建设要多少钱wordpress 文章页幻灯
  • 江门市专业做网站公司做个网站要多少钱 一般
  • 大学生做网站免费好玩的网页游戏
  • 网站设计学习保定建站模板搭建
  • 一诺千金 网站建设wordpress建立移动站
  • 化妆品做的不好的网站wordpress个人网线
  • 自己做相册的网站wordpress idc模板
  • 湖南旅游网站开发汇通网做期货的网站做期货的网站
  • 网站建设好后的手续交接万江区网站建设公司
  • 上海一家做服饰包鞋穿上用品的网站第一ppt网站
  • dedecms公司网站怎么做wordpress模板开发
  • 个人可以做宣传片视频网站品牌建设是什么
  • 网站制作网站建设案例网站建设公司合肥
  • 知名网站制作服务网站没后台怎么修改类容
  • 我想克隆个网站 怎么做指点成金网发帖推广
  • 郑州正岩建设集团网站微信公众平台开发软件
  • 建设部一建注册网站简述你对于网站建设的认识
  • 网站设计 企业 济南网站建设服务合同印花税
  • 学生怎样建设网站vr全景网站怎么做
  • 如何获得网站后台密码免费的网络推广平台
  • 健身网站建设企业登记信息查询
  • 网站制作与发布杭州网站app开发公司
  • 做固定背景网站做面包网站
  • 黄冈网站排名最高上海人才信息网官网
  • cookie做网站访问量河西做网站的公司
  • 常州网站建设案例h5网站建设需要哪些资料
  • 网站关键词布局图山西笑傲网站建设推广
  • 哪里可以做期货网站平台南宁有名的网络公司
  • 宝安做网站计算机 网站开发 文章