Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Mengendalikan Permintaan HTTP POST dengan Kuki dalam Go?

Bagaimana untuk Mengendalikan Permintaan HTTP POST dengan Kuki dalam Go?

Patricia Arquette
Patricia Arquetteasal
2024-12-27 22:01:11246semak imbas

How to Handle HTTP POST Requests with Cookies in Go?

Go: HTTP Post with Cookies

Dalam Go, mengurus kuki untuk permintaan HTTP boleh dicapai menggunakan pakej cookiejar yang diperkenalkan dalam Go 1.1. Dengan mencipta CookieJar dan mengaitkannya dengan klien HTTP, kuki boleh disimpan dan diambil secara automatik untuk permintaan seterusnya.

Kod Contoh

Berikut ialah contoh cara untuk log masuk ke tapak web, simpan kuki, dan akses halaman lain menggunakan kuki yang disimpan:

package main

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

func main() {
    // Create a new cookie jar.
    jar, err := cookiejar.New(nil)
    if err != nil {
        panic(err)
    }

    // Create an HTTP client that uses the cookie jar.
    client := &http.Client{
        Jar: jar,
    }

    // Login to the website.
    loginPostUrl := "http://www.example.com/login"
    values := url.Values{}
    values.Set("username", "my_username")
    values.Set("password", "my_password")
    resp, err := client.PostForm(loginPostUrl, values)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    // View the user's bill.
    viewBillUrl := "http://www.example.com/my/bill"
    resp, err = client.Get(viewBillUrl)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    // Read the bill's contents.
    billContents, err := resp.Body.ReadString('\n')
    if err != nil {
        panic(err)
    }

    fmt.Println(billContents)
}

Dalam contoh ini, CookieJar ialah digunakan untuk menyimpan secara automatik kuki yang dikembalikan oleh permintaan log masuk. Kuki ini kemudiannya digunakan untuk membenarkan permintaan seterusnya ke halaman /my/bil.

Atas ialah kandungan terperinci Bagaimana untuk Mengendalikan Permintaan HTTP POST dengan Kuki dalam Go?. 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