Izaberite lokalni interfejs i proxy u istom cURL prenosu
Koristite CURLOPT_INTERFACE za lokalni izvor i CURLOPT_PROXY za posrednika, uzimajući u obzir rutiranje OS-a i NAT.
Mašina sa više lokalnih adresa može trebati jednu od njih za vezu sa nadređenim proxyjem. cURL može eksplicitno napraviti oba izbora:
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. Zamenite 192.0.2.20 izvornom adresom koja je zaista dostupna na mašini koja izvršava PHP. Za dozvoljeni javni zahtev bez proxy naloga, lista HTTP proxyja može obezbediti udaljeni slušalac za vrednost proxyja.
CURLOPT_INTERFACE bira lokalnu stranu odlazne veze. CURLOPT_PROXY bira posrednika koji nosi zahtev dalje. Izbor lokalnog izvora ne pretvara tu mašinu u udaljeni proxy niti joj daje proizvoljnu javnu IP adresu.
Na ovom putu lokalni izbor utiče na vezu prema proxyju. Sajt obično vidi dalju izvornu adresu proxyja. NAT između bilo kog para može dodatno prevesti adresu koju vidi svaki primalac.
Ako je izbor interfejsa izostavljen, libcurl pušta TCP stek da izabere odgovarajući izvor. Taj izbor prati mrežnu konfiguraciju mašine; nije univerzalno pravilo da pobeđuje prva adresa u konfiguracionoj datoteci.
libcurl prihvata imena interfejsa na podržanim platformama, ali njegova dokumentacija isključuje izbor imena Windows interfejsa za ovu opciju. Korišćenje hostname-a takođe može pokrenuti blokirajuću pretragu. Poznata lokalna adresa je jasniji unos kada je to izbor koji aplikacija namerava.