Bagaimana untuk Mengikuti Ubah Arah dengan Kuki dalam Go?

Patricia Arquette
Lepaskan: 2024-11-06 02:34:02
asal
623 orang telah melayarinya

How to Follow Redirections with Cookies in Go?

Mengikuti Ubah Arah dengan Kuki dalam Go

Dalam mengendalikan permintaan HTTP, adalah perkara biasa untuk menghadapi ubah hala yang membawa kuki. Ini menimbulkan cabaran apabila menggunakan Golang, kerana tingkah laku lalai adalah untuk menggugurkan kuki semasa ubah hala. Untuk mengatasinya, anda boleh menggunakan pakej net/http/cookiejar, yang diperkenalkan dalam Go 1.1.

Dengan pakej cookiejar, anda boleh mengkonfigurasi pelanggan untuk mengikut ubah hala secara automatik sambil mengekalkan kuki yang diterima. Untuk mencapai ini:

  1. Buat balang kuki.Jar untuk menyimpan kuki yang diterima.
  2. Tetapkan balang kuki.Jar sebagai medan Jar bagi contoh http.Klien.
  3. Gunakan klien yang diubah suai untuk membuat permintaan HTTP.

Berikut ialah ilustrasi contoh:

<code class="go">package main

import (
    "golang.org/x/net/publicsuffix"
    "io/ioutil"
    "log"
    "net/http"
    "net/http/cookiejar"
)

func main() {
    options := cookiejar.Options{
        PublicSuffixList: publicsuffix.List,
    }
    jar, err := cookiejar.New(&options)
    if err != nil {
        log.Fatal(err)
    }
    client := http.Client{Jar: jar}
    resp, err := client.Get("http://dubbelboer.com/302cookie.php")
    if err != nil {
        log.Fatal(err)
    }
    data, err := ioutil.ReadAll(resp.Body)
    resp.Body.Close()
    if err != nil {
        log.Fatal(err)
    }
    log.Println(string(data))
}</code>
Salin selepas log masuk

Dengan menggunakan pendekatan ini, pelanggan Go anda akan mengikut ubah hala secara automatik dan mengekalkan kuki yang diterima, serupa dengan gelagat dalam cURL apabila menetapkan COOKIEFILE, AUTOREFERER dan FOLLOWLOCATION.

Atas ialah kandungan terperinci Bagaimana untuk Mengikuti Ubah Arah dengan Kuki dalam 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!