首頁 > 後端開發 > Golang > 主體

如何確定 Go 中重定向後的最終 URL?

Linda Hamilton
發布: 2024-11-10 22:38:02
原創
690 人瀏覽過

How to Determine the Final URL After Redirects in Go?

Go 中重定向後確定最終URL

在Go 的net/http 包中,在發出GET 或POST 請求時,可能會遇到情況伺服器以重定向回應。為了自動處理這個問題,客戶端在後台透明地執行重定向。然而,這可能會使確定一系列重定向後到達的最終 URL 變得困難。

幸運的是,Go 提供了一個簡單而有效的解決方案來檢索最終 URL。在 HTTP 回應中,Request 物件包含客戶端嘗試的最終 URL。

以下範例示範如何取得最終 URL:

package main

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

func main() {
    // Perform the request. It could go through multiple redirections.
    resp, err := http.Get("http://example.com/path/to/resource")
    if err != nil {
        log.Fatalf("http.Get => %v", err.Error())
    }

    // Extract the final URL from the request in the response.
    finalURL := resp.Request.URL.String()

    fmt.Println("The final URL reached is:", finalURL)
}
登入後複製

在此程式碼中,Request 物件在所有重新導向發生後,HTTP 回應中儲存最終 URL。該程式將這個最終 URL 列印到控制台。

這種方法比使用駭客變通方法更乾淨,並且可讓您直接存取用戶端存取的最後一個 URL。它確保您可以在必要時輕鬆追蹤和記錄整個重定向鏈。

以上是如何確定 Go 中重定向後的最終 URL?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板