创新互联GoFrame教程:GoFrameHTTPClient-链式操作
链式操作
GOFrame框架的客户端支持便捷的链式操作,常用方法如下:

创新互联于2013年创立,是专业互联网技术服务公司,拥有项目成都网站设计、成都网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元日喀则做网站,已为上家服务,为日喀则各地企业和个人服务,联系电话:13518219792
func (c *Client) Timeout(t time.Duration) *Client
func (c *Client) Cookie(m map[string]string) *Client
func (c *Client) Header(m map[string]string) *Client
func (c *Client) HeaderRaw(headers string) *Client
func (c *Client) ContentType(contentType string) *Client
func (c *Client) ContentJson() *Client
func (c *Client) ContentXml() *Client
func (c *Client) BasicAuth(user, pass string) *Client
func (c *Client) Retry(retryCount int, retryInterval time.Duration) *Client
func (c *Client) Prefix(prefix string) *Client
func (c *Client) Proxy(proxyURL string) *Client
func (c *Client) RedirectLimit(redirectLimit int) *Client
func (c *Client) Dump(dump ...bool) *Client
func (c *Client) Use(handlers ...HandlerFunc) *Client简要说明:
-
Timeout方法用于设置当前请求超时时间。 -
Cookie方法用于设置当前请求的自定义Cookie信息。 -
Header*方法用于设置当前请求的自定义Header信息。 -
Content*方法用于设置当前请求的Content-Type信息,并且支持根据该信息自动检查提交参数并自动编码。 -
BasicAuth方法用于设置HTTP Basic Auth校验信息。 -
Retry方法用于设置请求失败时重连次数和重连间隔。 -
Proxy方法用于设置http访问代理。 -
RedirectLimit方法用于限制重定向跳转次数。
使用示例
示例1,请求超时控制
g.Client().Timeout(3*time.Second).GetContent(ctx, "http://user.svc/v1/user/info/1")g.Client().Timeout(10*time.Second).PostContent(ctx, "http://order.svc/v1/order/create", g.Map{
"uid" : 1,
"sku_id" : 10000,
"amount" : 19.99,
"create_time" : "2020-03-26 12:00:00",
})示例2,自定义Cookie
g.Client().SetCookie("sessionid", "MNV5432PIY76").GetContent(ctx, "http://user.svc/v1/user/info/1")示例3,自定义Header
g.Client().SetHeader("RequestId", "XVF654RT98UJNMN641V06Y").GetContent(ctx, "http://user.svc/v1/user/info/1")g.Client().HeaderRaw(`
Referer: https://GoFrame.org/
User-Agent: MyTesyClient
`).GetContent(ctx, "http://user.svc/v1/user/info")示例4,提交Json请求
g.Client().ContentJson().PostContent(ctx, "http://order.svc/v1/order/create", g.Map{
"uid" : 1,
"sku_id" : 10000,
"amount" : 19.99,
"create_time" : "2020-03-26 12:00:00",
})该请求将会将Content-Type设置为application/json,并且将提交参数自动编码为Json:
{"uid":1,"sku_id":10000,"amount":19.99,"create_time":"2020-03-26 12:00:00"}示例5,提交Xml请求
g.Client().ContentXml().PostContent(ctx, "http://order.svc/v1/order/create", g.Map{
"uid" : 1,
"sku_id" : 10000,
"amount" : 19.99,
"create_time" : "2020-03-26 12:00:00",
})该请求将会将Content-Type设置为application/xml,并且将提交参数自动编码为Xml:
19.99 2020-03-26 12:00:00 10000 1 标题名称:创新互联GoFrame教程:GoFrameHTTPClient-链式操作
网页链接:http://www.jxjierui.cn/article/dpeogps.html


咨询
建站咨询
