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:
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>
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!