Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk melaksanakan kuki dalam golang

Bagaimana untuk melaksanakan kuki dalam golang

PHPz
PHPzasal
2023-04-05 14:36:281134semak imbas

Dalam pembangunan web, kuki ialah teknologi yang sangat biasa digunakan untuk menyimpan beberapa maklumat tentang pengguna untuk digunakan dalam permintaan seterusnya.

Bahasa Go (golang) juga menyediakan sokongan kuki lengkap, yang boleh membaca dan menetapkan kuki dengan mudah dalam permintaan dan respons HTTP.

Artikel ini akan memperkenalkan cara golang melaksanakan kuki dan menyediakan beberapa contoh kod untuk lebih memahami pembaca. Berikut adalah pengenalan terperinci.

1. Kuki dalam golang

Dalam golang, jenis Kuki pakej http digunakan untuk mewakili kuki. Kuki mengandungi dua medan: Kunci dan Nilai, serta beberapa medan pilihan, seperti Laluan, Domain, MaxAge, Tamat Tempoh, dsb.

Berikut ialah takrifan Kuki:

taip 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

}

Maksud setiap medan Kuki adalah seperti berikut :

  • Nama: Nama kuki
  • Nilai: Nilai kuki
  • Laluan: Laluan URL permintaan kuki yang sah
  • Domain: URL permintaan sah kuki Nama Hos
  • Tamat tempoh: Masa tamat tempoh kuki
  • Umur Maks: Masa tamat tempoh kuki, dalam beberapa saat
  • Selamat: Kuki hanya dihantar dalam sambungan HTTPS
  • HttpOnly: Kuki tidak boleh diakses oleh JavaScript
  • Mentah: Rentetan asal kuki dalam permintaan HTTP
  • Unparsed: Rentetan kuki yang tidak diproses

2. Set cookie

Dalam golang, untuk menetapkan cookie, anda boleh menggunakan fungsi SetCookie pakej http. Fungsi SetCookie memerlukan parameter jenis ResponseWriter, yang digunakan untuk menghantar respons HTTP kepada klien.

Berikut ialah takrifan fungsi SetCookie:

func SetCookie(w ResponseWriter, cookie *Cookie)

Dalam kod sampel, kami akan menetapkan kuki bernama " nama pengguna" kuki dan tetapkan nilainya kepada "john".

Kod sampel adalah seperti berikut:

utama pakej

import (

"net/http"

)

utama fungsi() {

http.HandleFunc("/", handler)
http.ListenAndServe(":8080", nil)

}

pengendali fungsi(w http.ResponseWriter, r *http.Request) {

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

}

3 cookies

Di golang, untuk membaca cookie, anda boleh menggunakan fungsi Cookies pakej http. Fungsi Cookies memerlukan parameter jenis Permintaan, yang digunakan untuk mewakili permintaan HTTP.

Berikut ialah takrifan fungsi Cookies:

func Cookies(r Request) []Cookie

Dalam kod sampel, kami akan baca sebelum Tetapkan kuki bernama "nama pengguna" dan mencetak nilainya ke konsol.

Kod sampel adalah seperti berikut:

utama pakej

import (

"fmt"
"net/http"

)

utama fungsi() {

http.HandleFunc("/", handler)
http.ListenAndServe(":8080", nil)

}

pengendali fungsi(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)
}

}

Kod sampel ini menggunakan kaedah Kuki Permintaan untuk membaca kuki bernama "nama pengguna". Jika bacaan berjaya, nilai kuki adalah output jika tidak, mesej ralat akan dikeluarkan.

Ringkasan

Artikel ini memperkenalkan cara menggunakan kuki dalam golang, termasuk cara membuat dan membaca kuki. Melalui pengenalan artikel ini, pembaca boleh menguasai penggunaan asas kuki dalam golang, memberikan lebih banyak kemungkinan untuk pembangunan web.

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

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