首先自己先写一个服务,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", "http://localhost:8000", 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就成功了,
我也是刚学,边学边记录,不喜勿喷。