Stroj s viacerými lokálnymi adresami môže potrebovať jednu z nich na pripojenie k doprednému proxy. cURL dokáže obe voľby vykonať explicitne:

curl_setopt_array($handle, [
    CURLOPT_URL => 'https://example.com/',
    CURLOPT_INTERFACE => '192.0.2.20',
    CURLOPT_PROXY => 'http://proxy.example:8080',
]);

Toto je ilustratívna konfigurácia pre existujúci handle cURL. Nahraďte 192.0.2.20 zdrojovou adresou, ktorá je skutočne dostupná na stroji spúšťajúcom PHP. Pre povolenú verejnú požiadavku bez proxy účtu môže zoznam HTTP proxy poskytnúť vzdialeného poslucháča pre hodnotu proxy.

CURLOPT_INTERFACE vyberá lokálnu stranu odchádzajúceho spojenia. CURLOPT_PROXY vyberá sprostredkovateľa, ktorý požiadavku nesie ďalej. Výber lokálneho zdroja nezmení tento stroj na vzdialené proxy ani mu nedá ľubovoľnú verejnú IP.

Na tejto ceste lokálna voľba ovplyvňuje spojenie smerom k proxy. Webová lokalita zvyčajne vidí ďalšiu zdrojovú adresu proxy. NAT medzi ľubovoľnou dvojicou môže ďalej prekladať adresu, ktorú vidí každý príjemca.

Ak je výber rozhrania vynechaný, libcurl nechá TCP zásobník vybrať vhodný zdroj. Táto voľba sa riadi sieťovou konfiguráciou stroja; nie je univerzálnym pravidlom, že vyhrá prvá adresa v konfiguračnom súbore.

libcurl prijíma názvy rozhraní na podporovaných platformách, ale jeho dokumentácia vylučuje výber názvu rozhrania Windows pre túto voľbu. Použitie hostname môže tiež spustiť blokujúce vyhľadávanie. Známa lokálna adresa je jasnejší vstup, keď je to voľba, ktorú aplikácia zamýšľa.

Súvisiace články