Një makinë me disa adresa lokale mund të ketë nevojë për njërën prej tyre për lidhjen me një proxy përpara. cURL mund t'i bëjë të dyja zgjedhjet në mënyrë eksplicite:

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

Ky është një konfigurim ilustrues për një handle cURL ekzistues. Zëvendësoni 192.0.2.20 me një adresë burimi që është vërtet e disponueshme në makinën që ekzekuton PHP. Për një kërkesë publike të lejuar pa llogari proxy, lista e proxy-ve HTTP mund të sigurojë dëgjuesin e largët për vlerën e proxy-t.

CURLOPT_INTERFACE zgjedh anën lokale të lidhjes dalëse. CURLOPT_PROXY zgjedh ndërmjetësin që e çon kërkesën më tej. Zgjedhja e një burimi lokal nuk e kthen atë makinë në proxy të largët dhe nuk i jep një IP publike arbitrare.

Në këtë rrugë, zgjedhja lokale ndikon në lidhjen drejt proxy-t. Faqja e internetit zakonisht sheh adresën burimore të mëtejshme të proxy-t. NAT midis çdo çifti mund ta përkthejë më tej adresën që sheh çdo marrës.

Nëse zgjedhja e ndërfaqes hiqet, libcurl e lejon stivën TCP të zgjedhë një burim të përshtatshëm. Kjo zgjedhje ndjek konfigurimin e rrjetit të makinës; nuk është rregull universal që fiton adresa e parë në një skedar konfigurimi.

libcurl pranon emra ndërfaqesh në platformat e mbështetura, por dokumentacioni i tij përjashton zgjedhjen e emrit të ndërfaqes Windows për këtë opsion. Përdorimi i një hostname gjithashtu mund të shkaktojë një kërkim bllokues. Një adresë lokale e njohur është një hyrje më e qartë kur ky është zgjedhja që synon aplikacioni.

Artikuj të ngjashëm