Memanfaatkan balang kuki Go untuk Mengikuti Pengalihan dengan Kuki
Apabila permintaan HTTP menghasilkan ubah hala 302, adalah penting untuk mengekalkan kuki yang diterima daripada pelayan untuk permintaan seterusnya. Dalam Go, ini boleh dicapai melalui pakej balang kuki, menyediakan cara yang mudah untuk mengikut ubah hala secara automatik sambil mengekalkan kuki.
Dalam senario ini, matlamatnya adalah untuk meniru gelagat CURL dengan tetapan berikut:
Pelaksanaan dengan cookiejar
Dengan Go 1.1, pakej net/http/cookiejar tersedia untuk mengendalikan tugasan ini dengan lancar. Berikut ialah contoh kod yang menunjukkan penggunaannya:
<code class="go">package main import ( "golang.org/x/net/publicsuffix" "io/ioutil" "log" "net/http" "net/http/cookiejar" ) func main() { // Configure the cookie jar. options := cookiejar.Options{ PublicSuffixList: publicsuffix.List, } jar, err := cookiejar.New(&options) if err != nil { log.Fatal(err) } // Create an HTTP client with the cookie jar. client := http.Client{Jar: jar} // Make the request. resp, err := client.Get("http://dubbelboer.com/302cookie.php") if err != nil { log.Fatal(err) } // Read the response body. data, err := ioutil.ReadAll(resp.Body) resp.Body.Close() if err != nil { log.Fatal(err) } // Log the response. log.Println(string(data)) }</code>
Dalam contoh ini, balang kuki dikonfigurasikan untuk mengikut senarai akhiran awam, memastikan pengendalian kuki berasaskan domain yang betul. Pelanggan dibuat dengan balang, dan permintaan GET dibuat ke URL yang ditentukan. Badan tindak balas dibaca dan dilog, menunjukkan bahawa balang kuki berkesan mengendalikan pengalihan dan mengekalkan kuki.
Atas ialah kandungan terperinci Bagaimanakah Go's CookieJar boleh digunakan untuk mengikuti ubah hala semasa mengekalkan kuki?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!