Permintaan Pelanggan HTTP Disahkan daripada Go
Dalam konteks membuat permintaan klien HTTP yang memerlukan pengesahan, isu biasa timbul apabila permintaan berikutnya gagal dengan ralat 401 dinafikan akses. Mari kita terokai penyelesaian Golang untuk masalah ini.
Dalam coretan kod yang disediakan, pelanggan berjaya mengesahkan dengan pelayan menggunakan Pengesahan Asas HTTP tetapi menghadapi cabaran dalam permintaan seterusnya untuk mendapatkan butiran pengguna. Untuk menangani perkara ini, penyelesaiannya terletak pada mencipta balang kuki tersuai.
Pelanggan HTTP Golang tidak mengendalikan pengurusan kuki secara automatik. Balang kuki diperlukan untuk menyimpan dan mengurus kuki merentas permintaan HTTP. Kod di bawah mentakrifkan pelaksanaan balang kuki tersuai:
type myjar struct { jar map[string] []*http.Cookie } func (p* myjar) SetCookies(u *url.URL, cookies []*http.Cookie) { p.jar [u.Host] = cookies } func (p *myjar) Cookies(u *url.URL) []*http.Cookie { return p.jar[u.Host] }
Dalam fungsi utama, kami memulakan balang kuki tersuai dan menetapkannya kepada medan Jar pelanggan:
jar := &myjar{} jar.jar = make(map[string] []*http.Cookie) client.Jar = jar
Dengan menggabungkan perubahan ini, Golang boleh berjaya mengurus kuki merentas permintaan HTTP yang disahkan. Kini, pelanggan akan melampirkan kuki yang dikaitkan dengan sesi yang disahkan secara automatik pada permintaan seterusnya, memastikan permintaan Butiran diproses dengan betul tanpa ralat 401.
Atas ialah kandungan terperinci Bagaimana untuk Menguruskan Kuki untuk Permintaan Pelanggan HTTP yang Disahkan dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!