En maskine med flere lokale adresser kan have brug for en af dem til sin forbindelse til en videresendende proxy. cURL kan træffe begge valg eksplicit:

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

Dette er en illustrativ konfiguration til et eksisterende cURL-handtag. Erstat 192.0.2.20 med en kildeadresse, der faktisk er tilgængelig på maskinen, som kører PHP. Til en tilladt offentlig anmodning uden en proxykonto kan listen over HTTP-proxyer levere den eksterne lytter til proxyværdien.

CURLOPT_INTERFACE vælger den lokale side af den udgående forbindelse. CURLOPT_PROXY vælger mellemleddet, der bærer anmodningen videre. At vælge en lokal kilde gør ikke maskinen til en ekstern proxy eller giver den en vilkårlig offentlig IP.

På denne vej påvirker det lokale valg forbindelsen mod proxyen. Webstedet ser generelt proxyens videre kildeadresse. NAT mellem et af de to par kan yderligere oversætte den adresse, hver modtager ser.

Hvis grænsefladevalget udelades, lader libcurl TCP-stakken vælge en passende kilde. Det valg følger maskinens netværkskonfiguration; det er ikke en universel regel, at den første adresse i en konfigurationsfil vinder.

libcurl accepterer grænsefladenavne på understøttede platforme, men dokumentationen udelukker valg af Windows-grænsefladenavne for denne indstilling. Brug af et værtsnavn kan også udløse et blokerende opslag. En kendt lokal adresse er et klarere input, når det er det valg, applikationen tilsigter.

Relaterede artikler