Velg et lokalt grensesnitt og en proxy i samme cURL-overføring
Bruk CURLOPT_INTERFACE for den lokale kilden og CURLOPT_PROXY for mellomleddet, og ta hensyn til OS-ruting og NAT.
En maskin med flere lokale adresser kan trenge én av dem for forbindelsen til en videresendt proxy. cURL kan gjøre begge valgene eksplisitt:
curl_setopt_array($handle, [
CURLOPT_URL => 'https://example.com/',
CURLOPT_INTERFACE => '192.0.2.20',
CURLOPT_PROXY => 'http://proxy.example:8080',
]);
Dette er en illustrerende konfigurasjon for et eksisterende cURL-handtak. Erstatt 192.0.2.20 med en kildeadresse som faktisk er tilgjengelig på maskinen som kjører PHP. For en tillatt offentlig forespørsel uten proxykonto kan HTTP-proxylisten skaffe den eksterne lytteren for proxyverdien.
CURLOPT_INTERFACE velger den lokale siden av den utgående forbindelsen. CURLOPT_PROXY velger mellomleddet som bærer forespørselen videre. Å velge en lokal kilde gjør ikke maskinen til en ekstern proxy eller gir den en vilkårlig offentlig IP.
På denne veien påvirker det lokale valget forbindelsen mot proxyen. Nettstedet ser vanligvis proxyens videre kildeadresse. NAT mellom hvilket som helst par kan oversette adressen hver mottaker ser ytterligere.
Hvis grensesnittvalget utelates, lar libcurl TCP-stakken velge en passende kilde. Det valget følger maskinens nettverkskonfigurasjon; det er ikke en universell regel at den første adressen i en konfigurasjonsfil vinner.
libcurl godtar grensesnittnavn på støttede plattformer, men dokumentasjonen utelukker Windows-grensesnittnavn for dette alternativet. Bruk av et vertsnavn kan også utløse et blokkerende oppslag. En kjent lokal adresse er et klarere inndata når det er valget programmet har tenkt seg.