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 }, }
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!