发布于 2017-09-05 15:17:17
如果要从*http.Request中提取主机,可以执行以下操作:
func ExampleHander(w http.ResponseWriter, r *http.Request) { host := r.Host // This is your host (and will include port if specified) }
如果您只想访问没有端口部件的主机部件,可以执行以下操作:
func ExampleHandler(w http.ResponseWriter, r *http.Request) { host, port, _ := net.SplitHostPort(r.Host) }
对于最后一个工作,您还必须导入net
Go有很好的文档,我还建议您看一看:net/http
发布于 2017-09-05 15:11:11
Go内置了一个图书馆,可以为你做这件事。
package main
import "fmt"
import "net"
import "net/url"
func main() {
s := "http://localhost:8080"
u, err := url.Parse(s)
if err != nil {
panic(err)
}
host, _, _ := net.SplitHostPort(u.Host)
fmt.Println(host)
}https://stackoverflow.com/questions/46058142
复制相似问题