Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Menyelesaikan Ralat "skema protokol tidak disokong " Semasa Pengesahan HTTP Asas dalam Go?
Pengesahan HTTP Asas dalam Go: Menyelesaikan Isu Pengalihan Semula
Apabila mencuba pengesahan HTTP asas dalam Go menggunakan kod yang disediakan, pembangun mungkin menghadapi ralat : "skim protokol tidak disokong ""." Ralat ini mungkin disebabkan oleh pengendalian ubah hala.
Gotcha dan Resolution
Kehalusan timbul apabila tapak web melakukan ubah hala. Dalam Go, semasa ubah hala, pengepala tersuai yang dinyatakan dalam permintaan asal hilang. Untuk menangani perkara ini, fungsi ubah hala tersuai mesti ditakrifkan untuk mengembalikan pengepala.
Kod Kemas Kini dengan Fungsi Ulihan Tersuai
Coretan kod berikut menggambarkan skrip dikemas kini yang merangkumi fungsi ubah hala:
func basicAuth(username, password string) string { auth := username + ":" + password return base64.StdEncoding.EncodeToString([]byte(auth)) } func redirectPolicyFunc(req *http.Request, via []*http.Request) error{ req.Header.Add("Authorization","Basic " + basicAuth("username1","password123")) return nil } func main() { client := &http.Client{ Jar: cookieJar, CheckRedirect: redirectPolicyFunc, } req, err := http.NewRequest("GET", "http://localhost/", nil) req.Header.Add("Authorization","Basic " + basicAuth("username1","password123")) resp, err := client.Do(req) }
Dengan pengubahsuaian ini, fungsi ubah hala tersuai memastikan bahawa pengepala pengesahan ditambahkan pada permintaan ubah hala berikutnya, menyelesaikan ralat dan mendayakan pengesahan HTTP.
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat "skema protokol tidak disokong " Semasa Pengesahan HTTP Asas dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!