Go http Proxy with Authentication
Untuk senario yang memerlukan proksi dengan pengesahan, menggunakan kaedah PostForm boleh mencabar. Artikel ini meneroka penyelesaian untuk isu ini.
Pendekatan Awal dan Pengehadannya
Lazimnya, menetapkan pengepala Kebenaran Proksi dalam permintaan boleh mencukupi untuk pengesahan. Walau bagaimanapun, apabila cuba mengubah suai pakej pihak ketiga dan menambah sokongan proksi, tambahan pengepala Kebenaran Proksi selepas mencipta klien mungkin tidak mencukupi.
Penyelesaian Alternatif
Pendekatan alternatif terletak pada mencipta klien HTTP tersuai dengan konfigurasi proksi yang dikehendaki. Pelanggan ini kemudiannya boleh digantikan ke dalam pakej pihak ketiga.
Snippet Kod:
client := &http.Client{ Transport: &http.Transport{ Proxy: http.ProxyURL(&url.URL{ Scheme: "http", User: url.UserPassword("username", "password"), Host: "146.137.9.45:65233", }), }, }
Pelanggan ini boleh digunakan dalam pakej pihak ketiga dan bukannya mencipta pelanggan baharu setiap kali.
Sebagai alternatif, URL proksi boleh dihuraikan terus:
url, _ := url.Parse("http://username:[email protected]:65233") client := &http.Client{ Transport: &http.Transport{ Proxy: http.ProxyURL(url), }, }
Dengan menggunakan klien yang disesuaikan ini, proksi dengan pengesahan boleh disepadukan dengan lancar ke dalam pakej pihak ketiga, membolehkan permintaan proksi yang disahkan melalui kaedah PostForm.
Atas ialah kandungan terperinci Bagaimana untuk Mengesahkan Permintaan Proksi HTTP Go dengan PostForm?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!