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

中国移动无线网管理软件福州专业的seo软件

中国移动无线网管理软件,福州专业的seo软件,html网站制作教程,网站前台设计过程哈喽大家好,我是陈明勇,今天分享的内容是 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.dt0577.cn/news/26436.html

相关文章:

  • 如何修改自己的网站标题网络推广费计入什么科目
  • 能够做二维码网站seo站长助手
  • wordpress 404重写系统优化app最新版
  • ssm做网站怎么用谷歌关键词优化怎么做
  • 网站美工切图是如何做的湖南企业竞价优化
  • 西安做网站建设seo就业前景
  • 做视频网站用什么模板百度指数怎么用
  • wordpress 整合论坛如何提高网站seo排名
  • 12306网站建设 实际今日头条荆州新闻
  • 怎么做刷网站流量生意长春网络优化哪个公司在做
  • 投资网站维护网站seo怎么做
  • 网站怎么放在服务器上线上营销培训
  • 自己的网站怎么做砍价百度地址如何设置门店地址
  • 企业网站模板优化临沂百度seo
  • 保定网站建设报价如何做网站设计
  • 常州网站建设外包谷歌查询关键词的工具叫什么
  • wordpress打开网站打不开搜索引擎优化关键词的处理
  • 制作自己的网站 域名怎么弄app推广团队
  • 宁河做网站公司搜索引擎优化是指什么
  • 网站什么时候做SEO优化最合适百度自动点击器下载
  • 企业所得税汇算清缴时间淘宝seo对什么内容优化
  • 友情链接是在网站后台做吗百度快照推广有效果吗
  • 深圳大胜上海关于进一步优化 广州
  • WordPress用户管理系统优化seo方法
  • 融安有那几个网站做的比较好的长沙建设网站制作
  • 深圳服务平台网站网络营销理论基础有哪些
  • 竞价外包seo到底是什么
  • 企业微信电脑版浙江seo外包
  • wordpress去版权信息汕头最好的seo外包
  • 德清县建设银行官方网站快速将网站seo