リダイレクト後の Go での最終 URL の抽出
Go の "net/http" パッケージでは、複数のリダイレクトを受ける URL を取得して、自動リダイレクト処理。ただし、ハック的な回避策を実装しないと、最終的な宛先 URL を決定するのは困難になる可能性があります。
解決策: 応答オブジェクトを利用する
幸いなことに、より洗練されたソリューションが存在します。 「http.Get」(または他の HTTP メソッド関数)によって返される「Response」オブジェクトには、最後に試行されたアクセスを表す「Request」フィールドが含まれています。これは、最終 URL を抽出するために利用できます。
package main import ( "fmt" "log" "net/http" ) func main() { // Initiate a GET request for a URL subject to redirects resp, err := http.Get("https://google.com") // Replace with the target URL if err != nil { log.Fatalf("http.Get -> %v", err) } // Retrieve the final URL using the last attempted Request in the Response finalURL := resp.Request.URL.String() // Output the resolved final URL fmt.Printf("The URL you ended up at is: %s", finalURL) }
以上がGo でリダイレクト後に最終 URL を抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。