Bagaimana untuk melaksanakan kuki dalam golang

PHPz
Lepaskan: 2023-04-05 14:54:46
asal
1094 orang telah melayarinya

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
Salin selepas log masuk

}

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"
Salin selepas log masuk

)

utama fungsi() {

http.HandleFunc("/", handler)
http.ListenAndServe(":8080", nil)
Salin selepas log masuk
Salin selepas log masuk

}

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

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

}

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"
Salin selepas log masuk

)

utama fungsi() {

http.HandleFunc("/", handler)
http.ListenAndServe(":8080", nil)
Salin selepas log masuk
Salin selepas log masuk

}

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)
}
Salin selepas log masuk

}

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!

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!