Maison > développement back-end > Golang > Comment implémenter les cookies dans Golang

Comment implémenter les cookies dans Golang

PHPz
Libérer: 2023-04-05 14:54:46
original
1189 Les gens l'ont consulté

Dans le développement Web, les cookies sont une technologie très courante utilisée pour stocker certaines informations sur l'utilisateur afin de les utiliser lors de demandes ultérieures.

Le langage Go (golang) fournit également une prise en charge complète des cookies, qui peut facilement lire et définir des cookies dans les requêtes et réponses HTTP.

Cet article présentera comment Golang implémente les cookies et fournira des exemples de code pour que les lecteurs puissent mieux comprendre. Ce qui suit est une introduction détaillée.

1. Cookies en golang

En golang, le type Cookie du package http est utilisé pour représenter un cookie. Un cookie contient deux champs : Clé et Valeur, ainsi que quelques champs facultatifs, tels que Chemin, Domaine, MaxAge, Expire, etc.

Voici la définition de Cookie :

type Cookie struct {

Name       string
Value      string
Path       string
Domain     string
Expires    time.Time
RawExpires string

MaxAge   int
Secure   bool
HttpOnly bool

Raw string
Unparsed []string
Copier après la connexion

}

La signification de chaque champ de Cookie est la suivante :

  • Name : le nom du cookie
  • Value : la valeur de le cookie
  • Path : le cookie est valide Le chemin de l'URL de la requête
  • Domain : Le nom d'hôte de l'URL de requête valide du cookie
  • Expires : Le délai d'expiration du cookie
  • MaxAge : Le délai d'expiration du cookie en secondes
  • Secure : Le cookie n'est transmis que dans les connexions HTTPS
  • HttpOnly : Le cookie n'est pas accessible par JavaScript
  • Raw : La chaîne d'origine du cookie dans la requête HTTP
  • Unparsed : La chaîne du cookie non traitée

2. Paramétrage le cookie

En golang, la définition d'un cookie peut utiliser la fonction SetCookie du package http. La fonction SetCookie nécessite un paramètre de type ResponseWriter, qui est utilisé pour envoyer une réponse HTTP au client.

Voici la définition de la fonction SetCookie :

func SetCookie(w ResponseWriter, cookie *Cookie)

Dans l'exemple de code, nous définirons un cookie nommé "username" et définirons sa valeur sur "john".

L'exemple de code est le suivant :

package main

import (

"net/http"
Copier après la connexion

)

func main() {

http.HandleFunc("/", handler)
http.ListenAndServe(":8080", nil)
Copier après la connexion
Copier après la connexion

}

func handler(w http.ResponseWriter, r *http.Request) {

c := http.Cookie{Name: "username", Value: "john"}
http.SetCookie(w, &c)
Copier après la connexion

}

3. Lire les cookies

Dans golang, pour lire un cookie, vous pouvez utiliser la fonction Cookies du package http. La fonction Cookies nécessite un paramètre de type Request, qui sert à représenter les requêtes HTTP.

Voici la définition de la fonction Cookies :

func Cookies(r Request) []Cookie

Dans l'exemple de code, nous lirons le cookie précédemment défini nommé "nom d'utilisateur" et afficherons sa valeur sur le console.

L'exemple de code est le suivant :

package main

import (

"fmt"
"net/http"
Copier après la connexion

)

func main() {

http.HandleFunc("/", handler)
http.ListenAndServe(":8080", nil)
Copier après la connexion
Copier après la connexion

}

func handler(w http.ResponseWriter, r *http.Request) {

c, err := r.Cookie("username")
if err != nil {
    fmt.Println("Unable to read cookie")
} else {
    fmt.Println(c.Value)
}
Copier après la connexion

}

Cet exemple de code utilise la méthode Cookie de Request pour lire le cookie nommé "nom d'utilisateur". Si la lecture réussit, la valeur du cookie est affichée ; sinon, un message d'erreur est affiché.

Résumé

Cet article explique comment utiliser les cookies dans Golang, y compris comment créer et lire des cookies. Grâce à l'introduction de cet article, les lecteurs peuvent maîtriser l'utilisation de base des cookies dans Golang, offrant ainsi plus de possibilités de développement Web.

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