tetapan kuki golang

WBOY
Lepaskan: 2023-05-19 09:02:06
asal
955 orang telah melayarinya

Golang ialah bahasa pengaturcaraan yang cekap, ringkas dan dibangunkan dengan pantas untuk membina aplikasi web. Dalam kebanyakan aplikasi web, kuki digunakan untuk mengurus sesi pengguna dan keadaan tapak web. Artikel ini menerangkan cara menetapkan dan mengendalikan kuki di Golang.

1. Apakah itu kuki?

Kuki ialah fail teks yang disimpan pada komputer pengguna yang melawat tapak web. Kuki dijana oleh pelayan dan dihantar ke penyemak imbas dalam respons HTTP. Penyemak imbas menyimpan kuki pada komputer pengguna dan menghantar semula kuki ke pelayan setiap kali tapak web yang sama diminta. Ini membolehkan pelayan membaca maklumat yang disimpan dalam kuki dan kemudian melaksanakan operasi yang sesuai, seperti mengekalkan keadaan sesi pengguna.

2. Menetapkan kuki

Di Golang, menetapkan kuki adalah sangat mudah. Kuki boleh ditetapkan menggunakan kaedah SetCookie dalam pakej net/http. Kaedah ini memerlukan ResponseWriter dan penunjuk kepada struktur http.Cookie.

Kod sampel adalah seperti berikut:

package main

import (
    "fmt"
    "net/http"
)

func setCookie(w http.ResponseWriter, r *http.Request) {
    cookie := &http.Cookie{
        Name:    "name",
        Value:   "value",
        Expires: time.Now().Add(24 * time.Hour),
    }
    http.SetCookie(w, cookie)
    fmt.Fprintln(w, "Cookie set successfully!")
}

func main() {
    http.HandleFunc("/", setCookie)
    http.ListenAndServe(":8080", nil)
}
Salin selepas log masuk

Dalam kod di atas, kami mentakrifkan kuki bernama "nama" dengan nilai "nilai" dan menetapkan masa tamat tempohnya kepada 24 jam . Kemudian, gunakan kaedah SetCookie untuk menulis kuki ke ResponseWriter. Akhir sekali, apabila kami mengakses aplikasi dalam penyemak imbas, kami akan melihat kuki dalam pengepala respons.

3. Baca kuki

Di Golang, anda boleh menggunakan kaedah Kuki dalam struktur Permintaan untuk membaca kuki. Kaedah ini mengembalikan penunjuk kepada struktur http.Cookie. Jika kuki tidak wujud, tidak akan dikembalikan.

Kod sampel adalah seperti berikut:

func getCookie(w http.ResponseWriter, r *http.Request) {
    cookie, err := r.Cookie("name")
    if err != nil {
        http.Error(w, err.Error(), http.StatusBadRequest)
        return
    }
    fmt.Fprintf(w, "Cookie: %v", cookie.Value)
}
Salin selepas log masuk

Dalam kod di atas, kami menggunakan kaedah Request.Cookie untuk mendapatkan semula kuki bernama "nama". Jika kuki tidak wujud, respons ralat dikembalikan.

4. Padam kuki

Di Golang, anda boleh memadam kuki menggunakan kaedah yang sama seperti menetapkan kuki (SetCookie). Walau bagaimanapun, tetapkan masa tamat tempoh kuki kepada masa yang lalu supaya penyemak imbas tidak lagi menghantar kuki.

Kod sampel adalah seperti berikut:

func deleteCookie(w http.ResponseWriter, r *http.Request) {
    cookie := &http.Cookie{
        Name:    "name",
        Value:   "",
        Expires: time.Unix(0, 0),
    }
    http.SetCookie(w, cookie)
    fmt.Fprintln(w, "Cookie deleted successfully!")
}
Salin selepas log masuk

Dalam kod di atas, kami mentakrifkan kuki kosong bernama "nama" dan menetapkan masa tamat tempohnya kepada masa lalu. Kami kemudian menulisnya kepada ResponseWriter menggunakan kaedah SetCookie. Ini akan menyebabkan penyemak imbas memadamkan kuki ini yang disimpan pada komputer pengguna.

5. Ringkasan

Artikel ini memperkenalkan cara untuk menetapkan, membaca dan memadam kuki di Golang. Pengurusan sesi pengguna dan penyelenggaraan keadaan boleh dilaksanakan dengan mudah dalam aplikasi web anda menggunakan kaedah yang kami sediakan dalam artikel ini. Selamat berprogram!

Atas ialah kandungan terperinci tetapan kuki golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!