Dalam situasi di mana anda lebih suka mengelak daripada menggunakan alamat IP utama anda untuk permintaan HTTP, Go menyediakan cara untuk menentukan alamat sumber.
Untuk mencapai matlamat ini, anda boleh mencipta Dialer tersuai dalam Pengangkutan pelanggan. Ini dicapai seperti berikut:
// Create a transport based on http.DefaultTransport, but with a custom localAddr transport := &http.Transport{ Proxy: http.ProxyFromEnvironment, DialContext: (&net.Dialer{ Timeout: 30 * time.Second, KeepAlive: 30 * time.Second, LocalAddr: localAddr, // Set the desired local IP address here DualStack: true, }).DialContext, MaxIdleConns: 100, IdleConnTimeout: 90 * time.Second, TLSHandshakeTimeout: 10 * time.Second, ExpectContinueTimeout: 1 * time.Second, } // Create an HTTP client using the custom transport client := &http.Client{ Transport: transport, }
Dengan menetapkan medan LocalAddr Pendail, anda boleh menentukan alamat IP sumber untuk digunakan untuk permintaan HTTP yang dibuat oleh klien.
Atas ialah kandungan terperinci Bagaimana untuk Menyesuaikan Alamat IP Sumber untuk Permintaan HTTP dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!