Maison  >  Article  >  développement back-end  >  Comment définir des cookies dans Golang

Comment définir des cookies dans Golang

PHPz
PHPzoriginal
2023-04-06 08:52:501245parcourir

Golang est un langage de programmation émergent qui présente des avantages en termes de simplicité et d'efficacité. Comment utiliser Golang pour définir des cookies est une question très importante dans le développement Web. Cet article explique comment définir des cookies à l'aide de Golang.

1. Qu'est-ce qu'un cookie ?

Avant de présenter comment définir les cookies dans Golang, comprenons d'abord ce que sont les cookies. Un cookie est un petit morceau d'information textuelle stocké sur un client (tel qu'un navigateur) et utilisé pour suivre les activités de l'utilisateur. Lorsqu'un utilisateur visite un site Web, celui-ci peut utiliser des cookies pour stocker et lire les données de l'utilisateur, telles que les informations de connexion de l'utilisateur, l'état du panier, etc.

2. Définir des cookies

Dans Golang, la configuration des cookies nécessite l'utilisation de la fonction SetCookie dans le package net/http. La fonction SetCookie est définie comme suit :

func SetCookie(w ResponseWriter, cookie *Cookie)

Parmi eux, w est le type d'interface ResponseWriter, qui peut être obtenu via http.ResponseWriter Cookie est un pointeur de type *http.Cookie, indiquant les informations de cookie à définir.

Le code est le suivant :

package main

import (
    "net/http"
)

func main() {
    http.HandleFunc("/", setCookie)
    http.ListenAndServe(":8080", nil)
}

func setCookie(w http.ResponseWriter, r *http.Request) {
    cookie := &http.Cookie{
        Name: "username",
        Value: "golang",
        Path: "/",
        MaxAge: 120,
    }
    http.SetCookie(w, cookie)
    w.Write([]byte("Cookie set successfully."))
}

Le code ci-dessus définira un cookie nommé "nom d'utilisateur", la valeur "golang", le chemin "/" et un délai d'expiration de 120 secondes pour le client (navigateur).

3. Obtenir des cookies

L'obtention de cookies se fait également via la fonction Cookie fournie dans le package net/http. La définition de la fonction Cookie est la suivante :

func (r *Request) Cookie(name string) (*Cookie, error)

Parmi eux, r est le type de structure Request, indiquant les informations de la requête, name est le nom du cookie, et la valeur de retour est un pointeur de type *http.Cookie et une valeur de retour de type erreur.

Le code est le suivant :

package main

import (
    "fmt"
    "net/http"
)

func main() {
    http.HandleFunc("/", getCookie)
    http.ListenAndServe(":8080", nil)
}

func getCookie(w http.ResponseWriter, r *http.Request) {
    cookie, err := r.Cookie("username")
    if err != nil {
        http.Error(w, err.Error(), http.StatusInternalServerError)
        return
    }
    fmt.Fprintf(w, "Hello %s", cookie.Value)
}

Le code ci-dessus récupérera la valeur du cookie nommé "nom d'utilisateur" du cookie du client (navigateur) et l'affichera sur la page web.

4. Résumé

Cet article explique comment utiliser Golang pour définir et obtenir des cookies. Dans le développement Web, les cookies constituent une technologie très importante qui peut aider les sites Web à suivre les activités des utilisateurs et à fournir des services personnalisés. J'espère que les lecteurs pourront mieux maîtriser la technologie des cookies de Golang en étudiant cet article.

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