2017-09-05 28 views

回答

1

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://golang.org/pkg/net/url/#

+0

在上面的例子中,我如何獲得當前用戶輸入的URL訪問頁面? – abel

+0

這取決於您如何編寫服務器。 但可能這個答案可以幫助你:https://stackoverflow.com/a/24519179/170961 – matiit

2

如果你正在談論從*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