Kone, jolla on useita paikallisia osoitteita, voi tarvita yhtä niistä yhteyteensä edelleen välittävään välityspalvelimeen. cURL voi tehdä molemmat valinnat eksplisiittisesti:

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

Tämä on havainnollistava kokoonpano olemassa olevalle cURL-kahvalle. Korvaa 192.0.2.20 lähdeosoitteella, joka on todella saatavilla PHP:tä ajavalla koneella. Sallitulle julkiselle pyynnölle ilman välityspalvelintiliä HTTP-välityspalvelinten luettelo voi tarjota etäkuuntelijan välityspalvelimen arvolle.

CURLOPT_INTERFACE valitsee lähtevän yhteyden paikallisen puolen. CURLOPT_PROXY valitsee välittäjän, joka kuljettaa pyynnön eteenpäin. Paikallisen lähteen valinta ei tee koneesta etävälityspalvelinta eikä anna sille mielivaltaista julkista IP:tä.

Tällä polulla paikallinen valinta vaikuttaa yhteyteen välityspalvelimeen päin. Verkkosivusto näkee yleensä välityspalvelimen seuraavan lähdeosoitteen. NAT kummankin parin välissä voi vielä kääntää osoitetta, jonka kukin vastaanottaja näkee.

Jos liitännän valinta jätetään pois, libcurl antaa TCP-pinon valita sopivan lähteen. Tämä valinta noudattaa koneen verkkokokoonpanoa; ei ole yleissääntö, että kokoonpanotiedoston ensimmäinen osoite voittaa.

libcurl hyväksyy liitäntöjen nimet tuetuilla alustoilla, mutta sen dokumentaatio sulkee pois Windowsin liitäntänimien valinnan tälle vaihtoehdolle. Isäntänimen käyttäminen voi myös laukaista estävän haun. Tunnettu paikallinen osoite on selkeämpi syöte, kun se on valinta, jota sovellus tarkoittaa.

Aiheeseen liittyvät artikkelit