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
}
La signification de chaque champ de Cookie est la suivante :
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"
)
func main() {
http.HandleFunc("/", handler) http.ListenAndServe(":8080", nil)
}
func handler(w http.ResponseWriter, r *http.Request) {
c := http.Cookie{Name: "username", Value: "john"} http.SetCookie(w, &c)
}
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"
)
func main() {
http.HandleFunc("/", handler) http.ListenAndServe(":8080", nil)
}
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) }
}
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!