Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menyelesaikan Ralat "skema protokol tidak disokong " Semasa Pengesahan HTTP Asas dalam Go?

Bagaimana untuk Menyelesaikan Ralat "skema protokol tidak disokong " Semasa Pengesahan HTTP Asas dalam Go?

Susan Sarandon
Susan Sarandonasal
2024-11-17 05:27:03310semak imbas

How to Resolve

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!

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