Maison >développement back-end >Golang >Comment gérer les cookies dans les requêtes Go HTTP POST pour la connexion au site Web et l'accès aux pages ?

Comment gérer les cookies dans les requêtes Go HTTP POST pour la connexion au site Web et l'accès aux pages ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-31 03:24:09728parcourir

How to Manage Cookies in Go HTTP POST Requests for Website Login and Page Access?

Go HTTP Post et utilisation des cookies

Problème : Intégration des cookies dans une application Go pour faciliter la connexion au site Web et ultérieure accès à la page.

Considérez l'exemple suivant code :

func Login(user, password string) string {
    postUrl := "http://www.pge.com/eum/login"

    values := make(url.Values)
    values.Set("user", user)
    values.Set("password", password)

    resp, err := http.PostForm(postUrl, values)
    if err != nil {
        log.Fatal(err)
    }
    defer resp.Body.Close()

    // Store cookies here!
    return "Hello"
}

func ViewBill(url string, cookies) string {
    // Access page using cookies!
}

Solution :Dans Go, la gestion des cookies a été introduite en version 1.1 via le package net/http/cookiejar.

Enrichissez votre code avec la gestion des cookies capacités :

import (
    "net/http"
    "net/http/cookiejar"
)

jar, err := cookiejar.New(nil)
if err != nil {
    // Handle error
}

client := &http.Client{
    Jar: jar,
}

Ce client doté de l'implémentation Jar du cookie jar peut désormais stocker des cookies pour les utiliser lors de requêtes ultérieures, facilitant ainsi une connexion fluide et navigation dans les pages.

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!

Déclaration:
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