Trieu una interfície local i un proxy en el mateix transport cURL
Utilitzeu CURLOPT_INTERFACE per a l'origen local i CURLOPT_PROXY per a l'intermediari, tenint en compte l'encaminament del sistema i el NAT.
Una màquina amb diverses adreces locals pot necessitar una d'elles per a la seva connexió a un proxy davanter. cURL pot fer totes dues tries explícitament:
curl_setopt_array($handle, [
CURLOPT_URL => 'https://example.com/',
CURLOPT_INTERFACE => '192.0.2.20',
CURLOPT_PROXY => 'http://proxy.example:8080',
]);
Aquesta és una configuració il·lustrativa per a un identificador cURL existent. Substituïu 192.0.2.20 per una adreça d'origen realment disponible a la màquina que executa PHP. Per a una sol·licitud pública permesa sense compte de proxy, la llista de proxys HTTP pot proporcionar l'oient remot per al valor del proxy.
CURLOPT_INTERFACE selecciona el costat local de la connexió sortint. CURLOPT_PROXY selecciona l'intermediari que porta la sol·licitud endavant. Triar un origen local no converteix la màquina en un proxy remot ni li dona una IP pública arbitrària.
En aquest camí, la selecció local afecta la connexió cap al proxy. El lloc web normalment veu l'adreça d'origen posterior del proxy. El NAT entre qualsevol de les dues parelles pot traduir encara més l'adreça que veu cada receptor.
Si s'omet la selecció d'interfície, libcurl deixa que la pila TCP triï un origen adequat. Aquesta tria segueix la configuració de xarxa de la màquina; no és una regla universal que la primera adreça d'un fitxer de configuració guanyi.
libcurl accepta noms d'interfície a les plataformes admeses, però la seva documentació exclou la selecció de noms d'interfície de Windows per a aquesta opció. Utilitzar un nom d'amfitrió també pot desencadenar una consulta bloquejant. Una adreça local coneguda és una entrada més clara quan aquesta és la tria que pretén l'aplicació.