Odaberite lokalno sučelje i proxy u istom cURL prijenosu
Koristite CURLOPT_INTERFACE za lokalni izvor i CURLOPT_PROXY za posrednika, uzimajući u obzir OS rutiranje i NAT.
Mašina s nekoliko lokalnih adresa može trebati jednu od njih za vezu s prednjim proxyjem. cURL može oba izbora napraviti eksplicitno:
curl_setopt_array($handle, [
CURLOPT_URL => 'https://example.com/',
CURLOPT_INTERFACE => '192.0.2.20',
CURLOPT_PROXY => 'http://proxy.example:8080',
]);
Ovo je ilustrativna konfiguracija za postojeći cURL handle. Zamijenite 192.0.2.20 izvornom adresom koja je stvarno dostupna na mašini koja pokreće PHP. Za dopušteni javni zahtjev bez proxy računa, lista HTTP proxyja može osigurati udaljeni listener za vrijednost proxyja.
CURLOPT_INTERFACE bira lokalnu stranu odlazne veze. CURLOPT_PROXY bira posrednika koji zahtjev nosi dalje. Odabir lokalnog izvora ne pretvara mašinu u udaljeni proxy niti joj daje proizvoljan javni IP.
Na ovom putu lokalni odabir utječe na vezu prema proxyju. Web lokacija obično vidi sljedeću izvornu adresu proxyja. NAT između bilo kojeg para može dodatno prevesti adresu koju svaki primalac vidi.
Ako se odabir sučelja izostavi, libcurl dopušta TCP stogu da odabere prikladan izvor. Taj odabir slijedi mrežnu konfiguraciju mašine; nije univerzalno pravilo da prva adresa u konfiguracijskoj datoteci pobjeđuje.
libcurl prihvaća nazive sučelja na podržanim platformama, ali njegova dokumentacija isključuje odabir naziva sučelja Windows za ovu opciju. Korištenje imena hosta također može pokrenuti blokirajuće pretraživanje. Poznata lokalna adresa jasniji je unos kada je to izbor koji aplikacija namjerava.