Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Mengekstrak URL Akhir Selepas Ubah Hala dalam Go?

Bagaimanakah Saya Mengekstrak URL Akhir Selepas Ubah Hala dalam Go?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-12 12:57:02521semak imbas

How Do I Extract the Final URL After Redirects in Go?

Mengekstrak URL Akhir dalam Go selepas Lencongan

Dalam pakej "net/http" Go, mendapatkan semula URL yang mengalami pelbagai ubah hala boleh menggunakan pengendalian ubah hala automatik. Walau bagaimanapun, penentuan URL destinasi akhir boleh terbukti mencabar tanpa melaksanakan penyelesaian yang meretas.

Penyelesaian: Memanfaatkan Objek Tindak Balas

Mujurlah, penyelesaian yang lebih elegan wujud. Objek "Respons" yang dikembalikan oleh "http.Get" (atau fungsi kaedah HTTP lain) mengandungi medan "Permintaan" yang mewakili percubaan akses terakhir. Ini boleh digunakan untuk mengekstrak URL akhir.

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)
}

Atas ialah kandungan terperinci Bagaimanakah Saya Mengekstrak URL Akhir Selepas Ubah Hala dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn