Maison > développement back-end > Golang > Comment déterminer l'URL finale après les redirections dans Golang ?

Comment déterminer l'URL finale après les redirections dans Golang ?

DDD
Libérer: 2024-11-11 16:59:03
original
549 Les gens l'ont consulté

How to Determine the Final URL After Redirects in Golang?

Détermination de l'URL finale après les redirections dans Golang

Dans le package net/http de Golang, les requêtes HTTP GET peuvent rencontrer des redirections, ce qui peut conduire vers une URL de destination finale différente de la demande initiale. Cette situation difficile soulève la question : comment pouvons-nous déterminer l'URL finale atteinte après une série de redirections sans recourir à des solutions de contournement fastidieuses ?

La solution

Contrairement à l'hypothèse selon laquelle une approche hackish est nécessaire, une solution propre et simple existe dans l'objet Response renvoyé par l'opération HTTP GET. Cet objet contient l'objet Request qui a initié la requête, qui donne accès à l'URL finale visitée.

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)
}
Copier après la connexion

Sortie :

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
Copier après la connexion

Cette méthode permet de récupérer sans effort l'URL finale. après un certain nombre de redirections. Aucune personnalisation supplémentaire ni manipulation de variables globales n'est nécessaire, garantissant une implémentation propre et efficace.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal