HTTP客户端

方法列表: https://pkg.go.dev/github.com/gogf/gf/v2/net/gclient

  1. 客户端提供了一系列以HTTP Method命名的方法,调用这些方法将会发起对应的HTTP Method请求。常用的方法是GetPost方法,同时DoRequest是核心的请求方法,用户可以调用该方法实现自定义的HTTP Method发送请求。
  2. 请求返回结果为对象,可以通过该结果对象获取对应的返回结果,通过ReadAll/ReadAllString方法可以获得返回的内容,该对象在使用完毕后需要通过Close方法关闭,防止内存溢出。
  3. *Var方法直接请求并获取HTTP接口结果为泛型类型便于转换。如果请求失败或者请求结果为空,会返回一个空的g.Var泛型对象,不影响转换方法调用。
  4. 可以看到,客户端的请求参数的数据参数data数据类型为interface{}类型,也就是说可以传递任意的数据类型,常见的参数数据类型为string/map,如果参数为map类型,参数值将会被自动编码。

请使用给定的方法创建Client对象,而不要使用new(ghttp.Client)或者&ghttp.Client{}创建客户端对象,否则,哼哼。

HTTP返回对象

这里也要提醒的是,Response需要手动调用Close方法关闭,也就是说,不管你使用不使用返回的Response对象,你都需要将该返回对象赋值给一个变量,并且手动调用其Close方法进行关闭(往往使用defer r.Close()),否则会造成文件句柄溢出、内存溢出。

一些重要说明

  1. 连接池参数设定、连接代理设置这些高级功能也可以通过自定义客户端的属性实现,该数据继承于标准库的http.Transport对象。