Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah cara saya mengikat `http.Client` kepada alamat IP tertentu dalam Go?
Apabila berurusan dengan berbilang antara muka rangkaian pada mesin klien, menjadi penting untuk mengikat http.Client ke alamat IP NIC atau SRC tertentu untuk memastikan penghalaan trafik rangkaian yang tepat. Panduan berikut akan memandu anda melalui langkah-langkah yang diperlukan untuk mencapai perkara ini dalam Go.
Untuk bermula, adalah penting untuk menetapkan medan http.Client.Transport kepada contoh net.Transport. Ini membolehkan anda menentukan net.Dialer yang anda ingin gunakan. Selepas itu, net.Dialer memberi anda kuasa untuk menentukan alamat setempat dari mana sambungan dimulakan.
Pertimbangkan coretan kod berikut:
<code class="go">localAddr, err := net.ResolveIPAddr("ip", "<my local address>") if err != nil { panic(err) } localTCPAddr := net.TCPAddr{ IP: localAddr.IP, } webclient := &http.Client{ Transport: &http.Transport{ Proxy: http.ProxyFromEnvironment, DialContext: (&net.Dialer{ LocalAddr: &localTCPAddr, Timeout: 30 * time.Second, KeepAlive: 30 * time.Second, DualStack: true, }).DialContext, MaxIdleConns: 100, IdleConnTimeout: 90 * time.Second, TLSHandshakeTimeout: 10 * time.Second, ExpectContinueTimeout: 1 * time.Second, }, }</code>
Dengan mengikuti langkah ini, anda boleh mengikat http anda dengan berkesan .Pelanggan ke alamat IP tertentu, memastikan kawalan ke atas trafik rangkaian yang berasal daripada mesin pelanggan anda.
Atas ialah kandungan terperinci Bagaimanakah cara saya mengikat `http.Client` kepada alamat IP tertentu dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!