Golang でリダイレクト後の最終 URL を決定するにはどうすればよいですか?

DDD
リリース: 2024-11-11 16:59:03
オリジナル
528 人が閲覧しました

How to Determine the Final URL After Redirects in Golang?

Golang でのリダイレクト後の最終 URL の決定

Golang の net/http パッケージでは、HTTP GET リクエストでリダイレクトが発生する可能性があります。最初のリクエストとは異なる最終宛先 URL に送信されます。この苦境により、面倒な回避策に頼ることなく、一連のリダイレクト後に到達した最終 URL をどのように判断できるかという疑問が生じます。

解決策

という仮定に反して、ハック的なアプローチが必要な場合は、HTTP GET 操作によって返される Response オブジェクト内にクリーンで単純なソリューションが存在します。このオブジェクトは、リクエストを開始した Request オブジェクトを保持します。これにより、アクセスした最終 URL へのアクセスが提供されます。

import (
    "fmt"
    "log"
    "net/http"
)

func main() {
    resp, err := http.Get("http://stackoverflow.com/q/16784419/727643")
    if err != nil {
        log.Fatalf("http.Get => %v", err.Error())
    }

    // Function to retrieve the final URL
    finalURL := resp.Request.URL.String()

    fmt.Printf("The URL you ended up at is: %v", finalURL)
}
ログイン後にコピー

出力:

The URL you ended up at is: http://stackoverflow.com/questions/16784419/in-golang-how-to-determine-the-final-url-after-a-series-of-redirects
ログイン後にコピー

このメソッドにより、最終 URL を簡単に取得できます。任意の数のリダイレクトの後。追加のカスタマイズやグローバル変数の操作は必要なく、クリーンで効率的な実装が保証されます。

以上がGolang でリダイレクト後の最終 URL を決定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート