Http.Go でのリダイレクト後の最終 URL の抽出
http.NewRequest を使用して HTTP リクエストを行うときに、次の操作が必要になる場合があります。リダイレクト後の最終 URL からクエリ文字列を抽出します。 Response オブジェクトは本質的に最終 URL へのアクセスを提供しません。
リダイレクト後に URL を取得するには:
このアプローチを示すコード スニペットを次に示します。
req, err = http.NewRequest("GET", URL, nil) cl := http.Client{} var lastUrlQuery string cl.CheckRedirect = func(req *http.Request, via []*http.Request) error { if len(via) > 10 { return errors.New("too many redirects") } lastUrlQuery = req.URL.RequestURI() return nil } resp, err := cl.Do(req) if err != nil { log.Fatal(err) } fmt.Printf("last url query is %v", lastUrlQuery)
この手法を使用すると、すべてのリダイレクトが発生した後の最終 URL。これにより、最終的な宛先からクエリ文字列やその他の情報にアクセスできるようになります。
以上がGo の「http.Client」でリダイレクト後の最終 URL を取得する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。