Maison >développement back-end >Golang >Comment utiliser le CookieJar de Go pour suivre les redirections tout en préservant les cookies ?
Exploiter le cookiejar de Go pour suivre les redirections avec des cookies
Lorsqu'une requête HTTP entraîne une redirection 302, il est crucial de conserver les cookies reçus du serveur pour la requête ultérieure. Dans Go, cela peut être réalisé via le package cookiejar, offrant un moyen pratique de suivre automatiquement les redirections tout en préservant les cookies.
Dans ce scénario, l'objectif est d'émuler le comportement de CURL avec les paramètres suivants :
Implémentation avec cookiejar
Avec Go 1.1, le package net/http/cookiejar est disponible pour gérer ces tâches de manière transparente. Voici un exemple de code démontrant son utilisation :
<code class="go">package main import ( "golang.org/x/net/publicsuffix" "io/ioutil" "log" "net/http" "net/http/cookiejar" ) func main() { // Configure the cookie jar. options := cookiejar.Options{ PublicSuffixList: publicsuffix.List, } jar, err := cookiejar.New(&options) if err != nil { log.Fatal(err) } // Create an HTTP client with the cookie jar. client := http.Client{Jar: jar} // Make the request. resp, err := client.Get("http://dubbelboer.com/302cookie.php") if err != nil { log.Fatal(err) } // Read the response body. data, err := ioutil.ReadAll(resp.Body) resp.Body.Close() if err != nil { log.Fatal(err) } // Log the response. log.Println(string(data)) }</code>
Dans cet exemple, le pot à cookies est configuré pour suivre la liste des suffixes publics, garantissant ainsi une gestion appropriée des cookies basés sur le domaine. Le client est créé avec le fichier jar et une requête GET est envoyée à l'URL spécifiée. Le corps de la réponse est lu et enregistré, démontrant que le pot à cookies gère efficacement la redirection et préserve le cookie.
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!