Rumah > pembangunan bahagian belakang > Golang > Bagaimanakah Saya Boleh Mengurus Kuki dengan Berkesan dalam Permintaan POST HTTP Go?

Bagaimanakah Saya Boleh Mengurus Kuki dengan Berkesan dalam Permintaan POST HTTP Go?

Patricia Arquette
Lepaskan: 2024-12-22 22:43:13
asal
376 orang telah melayarinya

How Can I Effectively Manage Cookies in Go HTTP POST Requests?

Go HTTP Post dan Gunakan Kuki: Panduan Komprehensif

Dalam Go, mengurus kuki adalah penting untuk mengekalkan sesi dan mengakses sumber yang dilindungi. Semasa menjalankan operasi HTTP POST, adalah penting untuk menyimpan kuki untuk permintaan seterusnya.

Coretan kod memberikan percubaan untuk log masuk ke tapak web, menyimpan kuki dan menggunakannya untuk melihat bil. Potensi peningkatan adalah dengan menggunakan pakej balang kuki yang diperkenalkan dalam Go 1.1.

Menggunakan balang kuki untuk Pengurusan Kuki

Pakej balang kuki menyediakan cara yang mudah untuk mengurus kuki untuk permintaan pelanggan. Begini cara untuk menyepadukannya ke dalam kod:

import (
    "net/http"
    "net/http/cookiejar"
)

jar, err := cookiejar.New(nil)
if err != nil {
    // Error handling
}

client := &http.Client{
    Jar: jar,
}
Salin selepas log masuk

Dengan menggunakan balang sebagai sebahagian daripada http.Client, kuki akan disimpan secara automatik dan dihantar dengan permintaan seterusnya.

Kod dikemas kini dengan Kuki

Kod yang dikemas kini untuk menyiarkan borang, menyimpan kuki dan melihat bil:

func Login(user, password string, client *http.Client) string {
    postUrl := "http://www.pge.com/eum/login"

    // Set up Login
    values := make(url.Values)
    values.Set("user", user)
    values.Set("password", password)

    // Submit form
    resp, err := client.PostForm(postUrl, values)
    if err != nil {
        log.Fatal(err)
    }
    defer resp.Body.Close()

    return "Hello"
}

func ViewBill(url string, client *http.Client) string {

    // Make the request using the client with cookies
    resp, err := client.Get(url)
    if err != nil {
        log.Fatal(err)
    }
    defer resp.Body.Close()

    return resp.Body
}
Salin selepas log masuk

Dalam versi dikemas kini ini, objek klien dihantar sebagai parameter kepada fungsi Log Masuk dan ViewBill. Ini memastikan pelanggan yang sama digunakan untuk kedua-dua operasi, memelihara kuki.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengurus Kuki dengan Berkesan dalam Permintaan POST HTTP Go?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan