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

Comment définir des cookies dans Golang

PHPz
Libérer: 2023-04-18 09:43:48
original
1383 Les gens l'ont consulté

Golang est un langage de programmation populaire qui est devenu le langage de choix de nombreux développeurs Web. Un concept important impliqué est celui des cookies, qui peuvent nous aider à suivre les informations des utilisateurs. Dans cet article, nous détaillerons comment paramétrer les cookies dans Go.

Que sont les cookies ?

Un cookie est un simple fichier texte stocké sur l'ordinateur d'un utilisateur lorsqu'il visite un site Web. Lorsque l'utilisateur visite à nouveau le même site Web, le cookie sera envoyé au serveur afin que le serveur puisse reconnaître l'utilisateur et fournir des services personnalisés.

De manière générale, un cookie est constitué d'un nom, d'une valeur et d'un ensemble d'attributs facultatifs. Les attributs peuvent inclure des informations telles que l'heure d'expiration, le nom de domaine et le chemin d'accès.

Comment paramétrer les cookies dans Go ?

Voici les étapes générales pour paramétrer les cookies dans Go :

  1. Importez le package "net/http".
import (
    "net/http"
)
Copier après la connexion
  1. Créez une variable appelée "cookie".
cookie := &http.Cookie{
    Name:  "my_cookie",
    Value: "my_value",
}
Copier après la connexion
  1. Ajoutez des cookies aux en-têtes de réponse.
http.SetCookie(w, cookie)
Copier après la connexion

Exemple de code complet :

package main

import (
    "fmt"
    "log"
    "net/http"
)

func main() {
    http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        cookie := &http.Cookie{
            Name:  "my_cookie",
            Value: "my_value",
        }

        http.SetCookie(w, cookie)

        fmt.Fprintln(w, "Cookie set!")
    })

    log.Fatal(http.ListenAndServe(":8080", nil))
}
Copier après la connexion

Dans l'exemple ci-dessus, nous avons créé un cookie nommé "my_cookie" et l'avons ajouté à l'en-tête de réponse. Lorsqu'un utilisateur visite cette page, un cookie sera installé et envoyé à l'ordinateur de l'utilisateur. Vous pouvez afficher la valeur du cookie dans les outils de développement de votre navigateur.

Comment définir les propriétés des cookies ?

Comme mentionné précédemment, les cookies ont un ensemble de propriétés facultatives. La définition de propriétés telles que le délai d'expiration des cookies, le nom de domaine et le chemin est très simple dans Go.

  1. Définir le délai d'expiration

Vous pouvez définir le délai d'expiration en définissant le champ "Expire" du cookie. Ce champ doit contenir un horodatage ou une valeur de type time.Time. Voici un exemple :

expiration := time.Now().Add(24 * time.Hour)

cookie := &http.Cookie{
    Name:    "my_cookie",
    Value:   "my_value",
    Expires: expiration,
}

http.SetCookie(w, cookie)
Copier après la connexion

Le code ci-dessus fixe le délai d'expiration du cookie à 24 heures plus tard.

  1. Définir le nom de domaine et le chemin

Vous pouvez définir le nom de domaine et le chemin du cookie en définissant les champs "Domaine" et "Chemin" du cookie. Voici un exemple :

cookie := &http.Cookie{
    Name:   "my_cookie",
    Value:  "my_value",
    Domain: "example.com",
    Path:   "/",
}

http.SetCookie(w, cookie)
Copier après la connexion

Le code ci-dessus définit le nom de domaine du cookie sur "example.com" et le chemin vers "/".

Résumé

Définir des cookies dans Go est très simple, il suffit de créer un objet Cookie et de l'ajouter à l'en-tête de réponse. Vous pouvez définir des cookies avec votre propre nom et valeur, ainsi que définir des attributs facultatifs (tels que le délai d'expiration, le nom de domaine, le chemin, etc.). En comprenant comment définir les cookies avec Go, vous pouvez mieux suivre les utilisateurs et fournir des services personnalisés.

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