Apabila bekerja dengan pakej pihak ketiga, adalah sukar untuk menambahkan pengesahan proksi pada kod sedia ada. Artikel ini membincangkan cara mengkonfigurasi klien Go HTTP untuk menggunakan proksi yang disahkan.
Dalam kod yang disediakan, anda cuba menambah pengesahan proksi menggunakan baris resp.Header.Add("Proxy-Authorization", basicAuth) selepas menghantar permintaan. Walau bagaimanapun, pendekatan ini mungkin tidak berkesan, kerana pengepala kebenaran proksi perlu ditetapkan sebelum menghantar permintaan.
Untuk menyelesaikan isu ini, anda harus mengubah suai kod untuk membuat klien HTTP tersuai dengan konfigurasi proksi. Pelanggan yang diubah suai ini kemudiannya boleh digunakan untuk membuat permintaan. Anda boleh mencapai ini dengan:
// Create a custom HTTP client with proxy authentication httpClient := &http.Client{ Transport: &http.Transport{ Proxy: http.ProxyURL(&url.URL{ Scheme: "http", User: url.UserPassword("username", "password"), Host: "proxy.com:8080", }), }, } // Make requests using the custom HTTP client response, err := httpClient.Get(...)
Sebagai alternatif, anda boleh menggunakan coretan kod berikut untuk menghuraikan URL proksi:
proxyURL, err := url.Parse("http://username:password@proxy.com:8080") httpClient := &http.Client{ Transport: &http.Transport{ Proxy: http.ProxyURL(proxyURL), }, }
Setelah klien HTTP tersuai dibuat, anda boleh menggantikan dalam pakej pihak ketiga untuk mengendalikan permintaan dengan pengesahan proksi.
Atas ialah kandungan terperinci Bagaimana untuk Mengkonfigurasi Pengesahan Proksi dengan Benar dengan Klien HTTP Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!