我建立了一个HTTP服务器。我正在使用下面的代码来获取请求URL,但未获取完整URL。
func Handler(w http.ResponseWriter, r *http.Request) { fmt.Printf("Req: %s %s", r.URL.Host, r.URL.Path) }
我只得到"Req: / "和"Req: /favicon.ico"。
"Req: / "
"Req: /favicon.ico"
我想获得完整的客户端请求的URL作为"1.2.3.4/"或"1.2.3.4/favicon.ico"。
"1.2.3.4/"
"1.2.3.4/favicon.ico"
谢谢。
从net / http包的文档中:
type Request struct { ... // 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". Host string ... }
您的代码的修改后的版本:
func Handler(w http.ResponseWriter, r *http.Request) { fmt.Printf("Req: %s %s\n", r.Host, r.URL.Path) }
输出示例:
Req: localhost:8888 /