Maison > développement back-end > Golang > Comment puis-je empêcher les redirections automatiques dans le client HTTP de Go ?

Comment puis-je empêcher les redirections automatiques dans le client HTTP de Go ?

Linda Hamilton
Libérer: 2024-12-25 17:27:17
original
508 Les gens l'ont consulté

How Do I Prevent Automatic Redirects in Go's HTTP Client?

Désactivation de la gestion automatique des redirections dans le client HTTP Go

Le client HTTP Go suit automatiquement les redirections HTTP, ce qui peut être gênant dans certaines situations. Pour désactiver ce comportement, la fonction CheckRedirect de http.Client peut être remplacée.

Une approche courante consiste à définir une fonction CheckRedirect personnalisée qui renvoie toujours une erreur. Cependant, cela nécessite de traiter les redirections HTTP comme des erreurs, ce qui peut entraîner une gestion inutile des erreurs.

Une solution alternative consiste à utiliser la constante ErrUseLastResponse comme valeur de retour dans la fonction CheckRedirect. Cela demande au client HTTP d'utiliser la réponse la plus récente sans suivre aucune redirection.

Voici un exemple d'utilisation de cette approche :

client := &http.Client{
    CheckRedirect: func(req *http.Request, via []*http.Request) error {
        return http.ErrUseLastResponse
    },
}
Copier après la connexion

Avec cette configuration, le client HTTP ne suivez les redirections et renverra la réponse la plus récente, permettant l'accès à l'en-tête HTTP Location pour un traitement ultérieur. Cette approche évite le besoin de gestion des erreurs et fournit un moyen plus direct de contrôler le comportement de redirection.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal