Izberite lokalni vmesnik in posrednika v istem prenosu cURL
Uporabite CURLOPT_INTERFACE za lokalni vir in CURLOPT_PROXY za posrednika, ob upoštevanju usmerjanja OS in NAT.
Stroj z več lokalnimi naslovi lahko potrebuje enega od njih za povezavo z nadrejenim posrednikom. cURL lahko obe izbiri izvede eksplicitno:
curl_setopt_array($handle, [
CURLOPT_URL => 'https://example.com/',
CURLOPT_INTERFACE => '192.0.2.20',
CURLOPT_PROXY => 'http://proxy.example:8080',
]);
To je ponazoritvena konfiguracija za obstoječi handle cURL. Zamenjajte 192.0.2.20 z izvornim naslovom, ki je dejansko na voljo na stroju, ki izvaja PHP. Za dovoljeno javno zahtevo brez računa posrednika lahko seznam HTTP posrednikov priskrbi oddaljenega poslušalca za vrednost posrednika.
CURLOPT_INTERFACE izbere lokalno stran odhodne povezave. CURLOPT_PROXY izbere posrednika, ki zahtevo nosi naprej. Izbira lokalnega vira tega stroja ne spremeni v oddaljenega posrednika in mu ne da poljubnega javnega IP.
Na tej poti lokalna izbira vpliva na povezavo proti posredniku. Spletno mesto običajno vidi nadaljnji izvorni naslov posrednika. NAT med katerim koli parom lahko še dodatno prevede naslov, ki ga vidi vsak prejemnik.
Če je izbira vmesnika izpuščena, libcurl prepusti izbiro primernega vira skladu TCP. Ta izbira sledi omrežni konfiguraciji stroja; ni univerzalno pravilo, da zmaga prvi naslov v konfiguracijski datoteki.
libcurl sprejema imena vmesnikov na podprtih platformah, vendar njegova dokumentacija izključuje izbiro imena vmesnika Windows za to možnost. Uporaba imena gostitelja lahko prav tako sproži blokirajoče iskanje. Znan lokalni naslov je jasnejši vnos, ko je to izbira, ki jo aplikacija namerava.