Heim  >  Artikel  >  Backend-Entwicklung  >  So setzen Sie Cookies in Golang

So setzen Sie Cookies in Golang

PHPz
PHPzOriginal
2023-04-06 08:52:501229Durchsuche

Golang ist eine aufstrebende Programmiersprache, die Vorteile in Bezug auf Einfachheit und Effizienz bietet. Die Verwendung von Golang zum Setzen von Cookies ist ein sehr wichtiges Thema in der Webentwicklung. In diesem Artikel erfahren Sie, wie Sie mit Golang Cookies setzen.

1. Was ist ein Cookie?

Bevor wir vorstellen, wie man Cookies in Golang setzt, wollen wir zunächst verstehen, was Cookies sind. Ein Cookie ist eine kleine Textinformation, die auf dem Client (z. B. einem Browser) gespeichert wird und zur Verfolgung von Benutzeraktivitäten verwendet wird. Wenn ein Benutzer eine Website besucht, kann die Website Cookies verwenden, um die Daten des Benutzers zu speichern und auszulesen, wie z. B. die Anmeldeinformationen des Benutzers, den Warenkorbstatus usw.

2. Cookies setzen

In Golang erfordert das Setzen von Cookies die Verwendung der SetCookie-Funktion im Net/http-Paket. Die SetCookie-Funktion ist wie folgt definiert:

func SetCookie(w ResponseWriter, cookie *Cookie)

Unter diesen ist w der ResponseWriter-Schnittstellentyp, der über http.ResponseWriter abgerufen werden kann. Cookie ist ein Zeiger vom Typ *http.Cookie, der die zu setzenden Cookie-Informationen angibt.

Der Code lautet wie folgt:

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."))
}

Der obige Code setzt ein Cookie mit dem Namen „Benutzername“, dem Wert „golang“, dem Pfad „/“ und einer Ablaufzeit von 120 Sekunden für den Client (Browser).

3. Cookies erhalten

Das Erhalten von Cookies erfolgt auch über die Cookie-Funktion im Net/http-Paket. Die Definition der Cookie-Funktion lautet wie folgt:

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

Darunter ist r der Anforderungsstrukturtyp, der die Anforderungsinformationen angibt, name ist der Name des Cookies und der Rückgabewert ist ein Zeiger vom Typ *http.Cookie und ein Rückgabewert vom Typ Fehler.

Der Code lautet wie folgt:

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)
}

Der obige Code ruft den Wert des Cookies mit dem Namen „Benutzername“ vom Cookie des Clients (Browsers) ab und zeigt ihn auf der Webseite an.

4. Zusammenfassung

In diesem Artikel wird erläutert, wie Sie mit Golang Cookies setzen und abrufen. In der Webentwicklung sind Cookies eine sehr wichtige Technologie, die Websites dabei helfen kann, Benutzeraktivitäten zu verfolgen und personalisierte Dienste bereitzustellen. Ich hoffe, dass die Leser durch das Studium dieses Artikels die Cookie-Technologie von Golang besser beherrschen können.

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

Stellungnahme:
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