七叶笔记 » golang编程 » golang如何模拟http请求,包括请求头

golang如何模拟http请求,包括请求头

首先自己先写一个服务,golang的http包中,自带一个 server ,我们给请求头中增加一个自定义的字段,通过服务端获取,然后返回给client,server端代码如下:

func main() {

http.HandleFunc(“/”, func(w http.ResponseWriter, r *http. Request ) { w.Write([]byte(string(r.Header.Get(“customerHeader”)))) }) http.ListenAndServe(“:8000”, nil) }

下面是http请求的代码:

func main() {

client := http.Client{} request, _ := http.NewRequest(“GET”, “#34;, nil) request.Header.Add(“customerHeader”, “65525”) resp, err := client. Do (request) defer resp.Body. Close () if err != nil { log.Fatal(“err:”, err) } fmt.Println(resp.StatusCode) buffer := make([]byte, 1024) n, _ := resp.Body.Read(buffer) fmt.Println(“自定义的请求头customerHeader:”, string(buffer[:n])) }

然后我们启动server的代码,在运行client的代码,可以看到http将请求头中自定义的头部信息返回回来:

这样,一个简单的server和client就成功了,

我也是刚学,边学边记录,不喜勿喷。

相关文章