Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Menetapkan Kuki dengan Betul menggunakan Pakej Go's net/http?

Bagaimana untuk Menetapkan Kuki dengan Betul menggunakan Pakej Go's net/http?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-14 09:20:15320semak imbas

How to Properly Set Cookies using Go's net/http Package?

Menetapkan Kuki dengan net/http daripada Pelayan

Menetapkan kuki dengan pakej net/http Go dicapai melalui fungsi SetCookie. Ini adalah operasi biasa dalam pembangunan web dan boleh menjadi penting untuk menjejak sesi pengguna, pilihan dan maklumat lain.

Dalam sampel kod anda, anda cuba menetapkan kuki pada objek permintaan (req.AddCookie) . Walau bagaimanapun, cara yang betul untuk menetapkan kuki adalah dengan menggunakan fungsi SetCookie pada objek tindak balas (w). Ini memastikan bahawa kuki dihantar sebagai sebahagian daripada respons HTTP kepada klien.

Fungsi SetCookie mengambil satu hujah, iaitu struktur Kuki. Struktur ini mengandungi semua maklumat yang diperlukan untuk membuat kuki, termasuk nama, nilai, laluan, domain, masa tamat tempoh dan atribut lain.

Sebagai contoh, kod berikut menetapkan kuki bernama "ujian" dengan nilai "tcookie" dan masa tamat tempoh satu hari:

cookie := &http.Cookie{
    Name:    "test",
    Value:   "tcookie",
    Expires: time.Now().Add(24 * time.Hour),
    Path:    "/",
}
http.SetCookie(w, cookie)

Adalah penting untuk ambil perhatian bahawa fungsi SetCookie tidak akan menghantar kuki secara automatik kepada pelanggan. Kuki hanya akan dihantar jika respons HTTP termasuk pengepala "Set-Cookie", yang ditambahkan secara automatik oleh http.ResponseWriter apabila kuki ditetapkan menggunakan fungsi SetCookie.

Atas ialah kandungan terperinci Bagaimana untuk Menetapkan Kuki dengan Betul menggunakan Pakej Go's net/http?. 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