私はそれを探してみましたが、すでに回答している質問は見つかりませんでした。GoでURLを取得する方法
GoのURLのホスト部分を取得するにはどうすればよいですか?
たとえば、
ユーザがアドレスバーにhttp://localhost:8080と入力した場合、URLから「localhost」を抽出します。
私はそれを探してみましたが、すでに回答している質問は見つかりませんでした。GoでURLを取得する方法
GoのURLのホスト部分を取得するにはどうすればよいですか?
たとえば、
ユーザがアドレスバーにhttp://localhost:8080と入力した場合、URLから「localhost」を抽出します。
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)
}
あなたは次の操作を行うことができます*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は素晴らしいドキュメントを持っているをインポートする必要があり、最後の1が動作するために、私はまた、見てみる推薦:net/http
上記の例では、どのように私は、現在を得るのですかユーザーがページにアクセスするために入力したURL? – abel
これはあなたのサーバーの書き方によって異なります。 しかし、おそらくこの回答はあなたを助けるかもしれません:https://stackoverflow.com/a/24519179/170961 – matiit