Heim > Backend-Entwicklung > Golang > So implementieren Sie Cookies in Golang

So implementieren Sie Cookies in Golang

PHPz
Freigeben: 2023-04-05 14:54:46
Original
1140 Leute haben es durchsucht

In der Webentwicklung sind Cookies eine weit verbreitete Technologie, mit der einige Informationen über den Benutzer zur Verwendung in späteren Anfragen gespeichert werden.

Go-Sprache (Golang) bietet außerdem vollständige Cookie-Unterstützung, mit der Cookies in HTTP-Anfragen und -Antworten problemlos gelesen und gesetzt werden können.

In diesem Artikel wird vorgestellt, wie Golang Cookies implementiert, und einige Beispielcodes bereitgestellt, damit die Leser sie besser verstehen. Im Folgenden finden Sie eine detaillierte Einführung.

1. Cookies in Golang

In Golang wird der Cookie-Typ des http-Pakets verwendet, um ein Cookie darzustellen. Ein Cookie enthält zwei Felder: Schlüssel und Wert sowie einige optionale Felder wie Pfad, Domäne, MaxAge, Ablaufdatum usw.

Das Folgende ist die Definition von Cookie:

Typ Cookie-Struktur {

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

MaxAge   int
Secure   bool
HttpOnly bool

Raw string
Unparsed []string
Nach dem Login kopieren

}

Die Bedeutung jedes Feldes von Cookie ist wie folgt:

  • Name: der Name des Cookies
  • Wert: der Wert von das Cookie
  • Pfad: das Cookie ist gültig Der Anforderungs-URL-Pfad
  • Domäne: Der Hostname der gültigen Anforderungs-URL des Cookies
  • Expires: Die Ablaufzeit des Cookies
  • MaxAge: Die Ablaufzeit des Cookies in Sekunden
  • Sicher: Das Cookie wird nur in HTTPS-Verbindungen übertragen.
  • HttpOnly: Auf das Cookie kann nicht per JavaScript zugegriffen werden.
  • Raw: Der ursprüngliche String des Cookies in der HTTP-Anfrage.
  • Unparsed: Der unverarbeitete Cookie-String.

2. Einstellung das Cookie

In Golang kann zum Setzen eines Cookies die SetCookie-Funktion des http-Pakets verwendet werden. Die SetCookie-Funktion erfordert einen Parameter vom Typ ResponseWriter, der zum Senden einer HTTP-Antwort an den Client verwendet wird.

Hier ist die Definition der SetCookie-Funktion:

func SetCookie(w ResponseWriter, cookie *Cookie)

Im Beispielcode setzen wir ein Cookie mit dem Namen „Benutzername“ und setzen seinen Wert auf „John“.

Der Beispielcode lautet wie folgt:

package main

import (

"net/http"
Nach dem Login kopieren

)

func main() {

http.HandleFunc("/", handler)
http.ListenAndServe(":8080", nil)
Nach dem Login kopieren
Nach dem Login kopieren

}

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

c := http.Cookie{Name: "username", Value: "john"}
http.SetCookie(w, &c)
Nach dem Login kopieren

}

3. Cookies lesen

Um in Golang ein Cookie zu lesen, können Sie die Cookies-Funktion des http-Pakets verwenden. Die Cookies-Funktion erfordert einen Parameter vom Typ Request, der zur Darstellung von HTTP-Anfragen verwendet wird.

Das Folgende ist die Definition der Cookies-Funktion:

func Cookies(r Request) []Cookie

Im Beispielcode lesen wir das zuvor gesetzte Cookie mit dem Namen „Benutzername“ und geben seinen Wert an aus Konsole.

Der Beispielcode lautet wie folgt:

package main

import (

"fmt"
"net/http"
Nach dem Login kopieren

)

func main() {

http.HandleFunc("/", handler)
http.ListenAndServe(":8080", nil)
Nach dem Login kopieren
Nach dem Login kopieren

}

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)
}
Nach dem Login kopieren

}

Dieser Beispielcode verwendet die Cookie-Methode von Request, um das Cookie mit dem Namen „Benutzername“ zu lesen. Bei erfolgreichem Lesevorgang wird der Cookie-Wert ausgegeben, andernfalls wird eine Fehlermeldung ausgegeben.

Zusammenfassung

In diesem Artikel erfahren Sie, wie Sie Cookies in Golang verwenden, einschließlich des Erstellens und Lesens von Cookies. Durch die Einführung dieses Artikels können Leser die grundlegende Verwendung von Cookies in Golang beherrschen und mehr Möglichkeiten für die Webentwicklung bieten.

Das obige ist der detaillierte Inhalt vonSo implementieren Sie Cookies in Golang. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage