Menggunakan Proksi dengan Pengesahan untuk Permintaan HTTP dalam Go
Apabila bekerja dengan permintaan HTTP, adalah perkara biasa untuk menghadapi situasi di mana anda perlu menggunakan proksi dengan pengesahan. Ini boleh disebabkan oleh sekatan rangkaian atau untuk meningkatkan prestasi. Walau bagaimanapun, menyediakan proksi dengan pengesahan boleh menjadi agak rumit dalam Go.
Dokumentasi untuk pakej net/http (pakej perpustakaan standard untuk mengendalikan permintaan HTTP dalam Go) menyediakan contoh cara menggunakan proksi, tetapi mereka tidak menangani secara eksplisit kes proksi yang disahkan. Untuk mengendalikan perkara ini, anda perlu menyediakan HEADER dalam pengangkutan untuk membenarkan permintaan proksi anda dengan betul.
Begini cara anda boleh menggunakan proksi dengan pengesahan dalam permintaan HTTP anda menggunakan pakej net/http dalam Go:
Isytiharkan bukti kelayakan pengesahan: Mulakan dengan mengisytiharkan nama pengguna dan kata laluan untuk pengesahan proksi.
<code class="go">auth := "username:password"</code>
Enkodkan bukti kelayakan: Encode bukti kelayakan menggunakan pengekodan base64.
<code class="go">basicAuth := "Basic " + base64.StdEncoding.EncodeToString([]byte(auth))</code>
Tetapkan ProxyConnectHeader: Buat http.Header untuk ditahan pengepala kebenaran proksi dan tambahkan bukti kelayakan yang dikodkan.
<code class="go">transport.ProxyConnectHeader = http.Header{} transport.ProxyConnectHeader.Add("Proxy-Authorization", basicAuth)</code>
Gunakan pengangkutan: Gunakan pengangkutan yang diubah suai untuk permintaan HTTP anda.
<code class="go">client := &http.Client{ Transport: transport, }</code>
Dengan mengikuti langkah ini, anda boleh berjaya menggunakan proksi dengan pengesahan dalam permintaan HTTP anda dalam Go.
Atas ialah kandungan terperinci Bagaimana untuk Menyediakan Proksi Disahkan untuk Permintaan HTTP dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!