Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk meminta kuki di Golang

Bagaimana untuk meminta kuki di Golang

PHPz
PHPzasal
2023-04-10 14:17:491158semak imbas

Golang meminta Kuki

Sebagai pengaturcara, kami sering melibatkan permintaan rangkaian Apabila melaksanakan fungsi permintaan rangkaian, kami selalunya perlu menggunakan kuki. Jadi, bagaimana untuk meminta kuki di Golang? Seterusnya, artikel ini akan memperkenalkan cara meminta kuki di Golang.

Pertama, kita perlu memahami apa itu Kuki. Kuki ialah kaedah penghantaran data dalam protokol HTTP, digunakan untuk menyimpan maklumat status pelanggan. Ia boleh merekodkan maklumat log masuk pengguna, sejarah pelayaran, troli beli-belah dan maklumat lain, dengan itu merealisasikan penjejakan dan pengurusan maklumat pengguna.

Di Golang, meminta kuki terbahagi kepada dua bahagian: menetapkan kuki dan mendapatkan kuki.

Tetapkan Kuki:

Dalam permintaan Golang, anda boleh menetapkan kuki dengan menetapkan pengepala. Dalam sesetengah tapak web yang memerlukan log masuk, adalah perlu untuk membawa kuki dalam pengepala permintaan untuk mendapatkan data secara haram.

Kod contoh:

func setCookie() {
    url := "https://www.example.com/login"
    req, err := http.NewRequest("POST", url, strings.NewReader(`{"foo":"bar"}`))
    if err != nil {
        log.Fatalln(err)
    }
    req.Header.Set("Content-Type", "application/x-www-form-urlencoded")
    //设置Cookie
    req.AddCookie(&http.Cookie{Name: "user", Value: "123"})
    cli := http.Client{}
    resp, err := cli.Do(req)
    if err != nil {
        log.Fatalln(err)
    }
    defer resp.Body.Close()
    fmt.Println(resp.StatusCode)
}

Dalam contoh, kami mula-mula membina badan permintaan permintaan siaran, tetapkan Jenis Kandungan dalam pengepala permintaan, dan kemudian hantar req.AddCookie( ) Kaedah ini menetapkan kuki bernama pengguna dengan nilai 123.

Dapatkan Kuki:

Dalam permintaan Golang, anda boleh mendapatkan Kuki melalui objek Permintaan. Apabila melakukan beberapa operasi logik perniagaan, kami perlu mendapatkan kuki daripada pengepala permintaan pautan untuk mendapatkan beberapa maklumat tapak web.

Kod sampel:

func getCookie() {
    url := "https://www.example.com/home"
    req, err := http.NewRequest("GET", url, nil)
    if err != nil {
        log.Fatalln(err)
    }
    cli := http.Client{}
    resp, err := cli.Do(req)
    if err != nil {
        log.Fatalln(err)
    }
    defer resp.Body.Close()
    cookies := resp.Cookies()
    for _, c := range cookies {
        fmt.Printf("cookieName=%s; cookieValue=%s\n", c.Name, c.Value)
    }
}

Dalam contoh, kami mula-mula membina badan permintaan permintaan GET, dan kemudian mendapatkan kuki dalam badan respons dengan memanggil resp.Cookies() kaedah, Akhirnya, kuki yang diperoleh adalah output ke konsol.

Ringkasan:

Melalui contoh kod di atas, kita dapat melihat bahawa meminta kuki di Golang adalah sangat mudah. Dengan menetapkan objek Permintaan atau membina pengepala permintaan, kami boleh menetapkan dan mendapatkan Kuki. Dalam pembangunan sebenar, kita boleh belajar daripada teknik ini untuk melaksanakan operasi logik perniagaan yang lebih kompleks.

Atas ialah kandungan terperinci Bagaimana untuk meminta kuki di 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