diff --git a/net/ghttp/ghttp_client_request.go b/net/ghttp/ghttp_client_request.go index 5689b4b3b..15a58eeaf 100644 --- a/net/ghttp/ghttp_client_request.go +++ b/net/ghttp/ghttp_client_request.go @@ -189,6 +189,17 @@ func (c *Client) DoRequest(method, url string, data ...interface{}) (resp *Clien req.Header.Set(k, v) } } + // For server requests Host specifies the host on which the + // URL is sought. Per RFC 2616, this is either the value of + // the "Host" header or the host name given in the URL itself. + // It may be of the form "host:port". + // + // For client requests Host optionally overrides the Host + // header to send. If empty, the Request.Write method uses + // the value of URL.Host. + if host := req.Header.Get("Host"); host != "" { + req.Host = host + } // Custom Cookie. if len(c.cookies) > 0 { headerCookie := ""