GoFrame
框架提供了强大便捷易用的HTTP
客户端,由gclient
组件实现,对象创建可以通过gclient.New()
包方法,也可以通过g.Client()
方法调用。推荐使用g.Client()
来便捷地创建HTTP
客户端对象。
方法列表: https://pkg.go.dev/github.com/gogf/gf/v2/net/gclient
简要说明:
New
创建一个自定义的HTTP
客户端对象Client
,随后可以使用该对象执行请求,该对象底层使用了连接池设计,因此没有Close
关闭方法。HTTP
客户端对象也可以通过g.Client()
快捷方法创建。 HTTP Method
命名的方法,调用这些方法将会发起对应的HTTP Method
请求。常用的方法是Get
和Post
方法,同时DoRequest
是核心的请求方法,用户可以调用该方法实现自定义的HTTP Method
发送请求。 *ClientResponse
对象,可以通过该结果对象获取对应的返回结果,通过ReadAll
/ReadAllString
方法可以获得返回的内容,该对象在使用完毕后需要通过Close
方法关闭,防止内存溢出。 *Bytes
方法用于获得服务端返回的二进制数据,如果请求失败返回nil
;*Content
方法用于请求获得字符串结果数据,如果请求失败返回空字符串;Set*
方法用于Client
的参数设置。 *Var
方法直接请求并获取HTTP
接口结果为泛型类型便于转换。如果请求失败或者请求结果为空,会返回一个空的g.Var
泛型对象,不影响转换方法调用。 data
数据类型为interface{}
类型,也就是说可以传递任意的数据类型,常见的参数数据类型为string
/map
,如果参数为map
类型,参数值将会被自动urlencode
编码。请使用给定的方法创建Client
对象,而不要使用new(ghttp.Client)
或者&ghttp.Client{}
创建客户端对象。
gclient.Response
为HTTP
对应请求的返回结果对象,该对象继承于http.Response
,可以使用http.Response
的所有方法。在此基础之上增加了以下几个方法:
func (r *Response) GetCookie(key string) string
func (r *Response) GetCookieMap() map[string]string
func (r *Response) Raw() string
func (r *Response) RawDump()
func (r *Response) RawRequest() string
func (r *Response) RawResponse() string
func (r *Response) ReadAll() []byte
func (r *Response) ReadAllString() string
func (r *Response) Close() error
这里也要提醒的是,Response
需要手动调用Close
方法关闭,也就是说,不管你使用不使用返回的Response
对象,你都需要将该返回对象赋值给一个变量,并且手动调用其Close
方法进行关闭(往往使用defer r.Close()
),否则会造成文件句柄溢出、内存溢出。
ghttp
客户端默认关闭了KeepAlive
功能以及对服务端TLS
证书的校验功能,如果需要启用可自定义客户端的Transport
属性。 Transport
属性实现,该数据继承于标准库的http.Transport
对象。备案信息: 粤ICP备15087711号-2
Copyright © 2008-2024 啊嘎哇在线工具箱 All Rights.
本站所有资料来源于网络,版权归原作者所有,仅作学习交流使用,如不慎侵犯了您的权利,请联系我们。