Maison > Article > développement back-end > Comment émuler la localisation basée sur les cookies de cURL dans Go ?
Problème :
Lors de la réception d'une redirection (code HTTP 302) avec un cookie d'accompagnement dans la réponse, comment un client Go peut-il suivre le nouvel emplacement tout en utilisant le cookie reçu ?
Réponse :
Dans Go 1.1 et versions ultérieures, le net/http/cookiejar fournit une solution pour cela :
<code class="go">import ( "golang.org/x/net/publicsuffix" "io/ioutil" "log" "net/http" "net/http/cookiejar" ) func main() { options := cookiejar.Options{ PublicSuffixList: publicsuffix.List, } jar, err := cookiejar.New(&options) if err != nil { log.Fatal(err) } client := http.Client{Jar: jar} resp, err := client.Get("http://dubbelboer.com/302cookie.php") if err != nil { log.Fatal(err) } data, err := ioutil.ReadAll(resp.Body) resp.Body.Close() if err != nil { log.Fatal(err) } log.Println(string(data)) }</code>
Cet extrait de code émule efficacement le comportement de suivi de localisation basé sur les cookies de CURL en créant un pot à cookies (jar) qui stocke le cookie reçu. Lorsque le client suit la redirection, il envoie le cookie stocké avec la demande, lui permettant d'accéder au nouvel emplacement avec les autorisations appropriées.
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!