Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

基本介绍

http客户端支持对HTTP请求的输入与输出原始信息获取与打印,方便调试,相关方法如下:

Code Block
languagego
func (r *ClientResponseResponse) Raw() string
func (r *ClientResponseResponse) RawDump()
func (r *ClientResponseResponse) RawRequest() string
func (r *ClientResponseResponse) RawResponse() string

可以看到,所有的方法均绑定在ClientResponseResponse对象上,也就是说必须要请求结束后才能打印。

使用示例

Code Block
languagego
package main

import (
	"github.com/gogf/gf/v2/frame/g"
	"github.com/gogf/gf/v2/os/gctx"
)

func main() {
	response, err := g.Client().Post(
		gctx.New(),
		"https://goframe.org",
		g.Map{
			"name": "john",
		},
	)
	if err != nil {
		panic(err)
	}
	response.RawDump()
}

执行后,终端输出为:

Code Block
languagexml
+---------------------------------------------+
|                   REQUEST                   |
+---------------------------------------------+
POST / HTTP/1.1
Host: goframe.org
User-Agent: GoFrameHTTPClient v2.0.0-beta
Content-Length: 9
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip


name=john

+---------------------------------------------+
|                   RESPONSE                  |
+---------------------------------------------+
HTTP/1.1 405 Method Not Allowed
Connection: close
Transfer-Encoding: chunked
Allow: GET
Cache-Control: no-store
Content-Security-Policy: frame-ancestors 'self'
Content-Type: text/html;charset=UTF-8
Date: Fri, 03 Dec 2021 09:43:29 GMT
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Server: nginx
...




Panel
titleContent Menu

Table of Contents