Maison > développement back-end > Golang > le corps du texte

Comment demander des cookies dans Golang

PHPz
Libérer: 2023-04-10 15:54:03
original
1193 Les gens l'ont consulté

Golang demande des cookies

En tant que programmeur, nous impliquons souvent des requêtes réseau Lors de la mise en œuvre des fonctions de requête réseau, nous devons souvent utiliser des cookies. Alors, comment demander des cookies dans Golang ? Ensuite, cet article expliquera comment demander des cookies dans Golang.

Tout d’abord, nous devons comprendre ce que sont les cookies. Le cookie est une méthode de transmission de données dans le protocole HTTP, utilisée pour enregistrer les informations d'état du client. Il peut enregistrer les informations de connexion de l'utilisateur, l'historique de navigation, le panier et d'autres informations, réalisant ainsi le suivi et la gestion des informations de l'utilisateur.

Dans Golang, la demande de cookies est divisée en deux parties : la configuration des cookies et l'obtention des cookies.

Définir le cookie :

Dans la requête Golang, vous pouvez définir le cookie en définissant l'en-tête. Sur certains sites Web nécessitant une connexion, il est nécessaire d'insérer des cookies dans l'en-tête de la demande pour obtenir illégalement des données.

Exemple de code :

func setCookie() {
    url := "https://www.example.com/login"
    req, err := http.NewRequest("POST", url, strings.NewReader(`{"foo":"bar"}`))
    if err != nil {
        log.Fatalln(err)
    }
    req.Header.Set("Content-Type", "application/x-www-form-urlencoded")
    //设置Cookie
    req.AddCookie(&http.Cookie{Name: "user", Value: "123"})
    cli := http.Client{}
    resp, err := cli.Do(req)
    if err != nil {
        log.Fatalln(err)
    }
    defer resp.Body.Close()
    fmt.Println(resp.StatusCode)
}
Copier après la connexion

Dans l'exemple, nous construisons d'abord le corps de la requête d'une requête de publication, définissons le Content-Type dans l'en-tête de la requête, puis définissons un utilisateur nommé user avec la valeur via req.AddCookie() méthode. 123 cookies.

Obtenir Cookie :

Dans la requête Golang, vous pouvez obtenir Cookie via l'objet Request. Lors de l'exécution de certaines opérations de logique métier, nous devons obtenir des cookies à partir de l'en-tête de demande de lien pour obtenir certaines informations sur le site Web.

Exemple de code :

func getCookie() {
    url := "https://www.example.com/home"
    req, err := http.NewRequest("GET", url, nil)
    if err != nil {
        log.Fatalln(err)
    }
    cli := http.Client{}
    resp, err := cli.Do(req)
    if err != nil {
        log.Fatalln(err)
    }
    defer resp.Body.Close()
    cookies := resp.Cookies()
    for _, c := range cookies {
        fmt.Printf("cookieName=%s; cookieValue=%s\n", c.Name, c.Value)
    }
}
Copier après la connexion

Dans l'exemple, nous construisons d'abord le corps de la requête d'une requête GET, puis obtenons les cookies dans le corps de la réponse en appelant la méthode resp.Cookies(), et enfin envoyons les cookies obtenus à la console .

Résumé :

Grâce à l'exemple de code ci-dessus, nous pouvons voir que demander des cookies dans Golang est très simple. En définissant l'objet Request ou en construisant l'en-tête de la requête, nous pouvons définir et obtenir des cookies. Dans le développement réel, nous pouvons apprendre de ces techniques pour mettre en œuvre des opérations de logique métier plus complexes.

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