Memanfaatkan Dialer untuk Menentukan Alamat Asal Permintaan HTTP
Dalam senario tertentu, ia menjadi perlu untuk mengatasi alamat IP asal lalai yang digunakan untuk permintaan HTTP . Pustaka standard Go tidak mempunyai dokumentasi yang jelas untuk menangani kes penggunaan ini. Walau bagaimanapun, dengan memanfaatkan jenis Pendail, seseorang boleh menyesuaikan alamat IP mana yang hendak digunakan untuk permintaan HTTP.
Untuk mencapai matlamat ini, Pendail tersuai mesti dibuat dan diberikan kepada Pengangkutan Pelanggan. Kaedah DialContext Dialer membenarkan untuk menentukan medan LocalAddr, yang menetapkan alamat asal yang dikehendaki. Berikut ialah contoh coretan kod yang menunjukkan pelaksanaannya:
// Create a transport with a custom LocalAddr transport := &http.Transport{ Proxy: http.ProxyFromEnvironment, DialContext: (&net.Dialer{ Timeout: 30 * time.Second, KeepAlive: 30 * time.Second, LocalAddr: myIPAddress, // Replace with the desired origin address DualStack: true, }).DialContext, MaxIdleConns: 100, IdleConnTimeout: 90 * time.Second, TLSHandshakeTimeout: 10 * time.Second, ExpectContinueTimeout: 1 * time.Second, } // Create an HTTP client with this custom transport client := &http.Client{ Transport: transport, }
Dengan menggunakan teknik ini, pembangun boleh mengawal alamat IP asal yang digunakan untuk permintaan HTTP, membolehkan senario alamat IP tertentu diperlukan untuk permintaan tertentu.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menentukan Alamat Asal Permintaan HTTP Menggunakan Dialer Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!