Bagaimana untuk Menentukan URL Akhir Selepas Ubah Hala dalam Go?

Linda Hamilton
Lepaskan: 2024-11-10 22:38:02
asal
722 orang telah melayarinya

How to Determine the Final URL After Redirects in Go?

Menentukan URL Akhir Selepas Ubah hala dalam Go

Dalam pakej net/http Go, apabila membuat permintaan GET atau POST, anda mungkin menghadapi situasi di mana pelayan bertindak balas dengan ubah hala. Untuk mengendalikan ini secara automatik, pelanggan melakukan ubah hala secara telus di latar belakang. Walau bagaimanapun, ini boleh menyukarkan untuk menentukan URL akhir yang dicapai selepas beberapa siri ubah hala.

Nasib baik, Go menyediakan penyelesaian yang mudah dan berkesan untuk mendapatkan semula URL akhir. Dalam respons HTTP, objek Permintaan mengandungi URL akhir yang dicuba oleh pelanggan.

Berikut ialah contoh yang menunjukkan cara mendapatkan URL akhir:

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)
}
Salin selepas log masuk

Dalam kod ini, objek Permintaan dalam respons HTTP memegang URL akhir selepas semua ubah hala telah berlaku. Program ini mencetak URL akhir ini ke konsol.

Pendekatan ini lebih bersih daripada menggunakan penyelesaian hackish dan memberi anda akses terus ke URL terakhir yang diakses oleh pelanggan. Ia memastikan anda boleh menjejak dan merekod keseluruhan rantai ubah hala dengan mudah, jika perlu.

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

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan