Ang isang makina na may ilang lokal na address ay maaaring mangailangan ng isa sa mga ito para sa koneksyon nito sa isang forward proxy. Maaaring gawin ng cURL ang dalawang pagpipilian nang tahasan:

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

Ito ay isang paglalarawang configuration para sa umiiral nang cURL handle. Palitan ang 192.0.2.20 ng source address na talagang available sa makina na nagpapatakbo ng PHP. Para sa pinapayagang pampublikong kahilingan na walang proxy account, ang listahan ng HTTP proxy ay maaaring magbigay ng remote listener para sa halaga ng proxy.

Pinipili ng CURLOPT_INTERFACE ang lokal na panig ng palabas na koneksyon. Pinipili ng CURLOPT_PROXY ang tagapamagitan na nagdadala ng kahilingan pasulong. Ang pagpili ng lokal na source ay hindi ginagawang remote proxy ang makinang iyon at hindi ito binibigyan ng di-makatwirang pampublikong IP.

Sa landas na ito, ang lokal na pagpili ay nakakaapekto sa koneksyon patungo sa proxy. Karaniwang nakikita ng website ang susunod na source address ng proxy. Ang NAT sa pagitan ng alinmang pares ay maaaring magpatuloy na magsalin ng address na nakikita ng bawat tatanggap.

Kung aalisin ang pagpili ng interface, hinahayaan ng libcurl ang TCP stack na pumili ng angkop na source. Ang pagpipiliang iyon ay sumusunod sa networking configuration ng makina; hindi ito unibersal na tuntuning mananalo ang unang address sa isang configuration file.

Tumatanggap ang libcurl ng mga pangalan ng interface sa mga sinusuportahang platform, ngunit ibinubukod ng dokumentasyon nito ang pagpili ng pangalan ng interface ng Windows para sa opsyong ito. Ang paggamit ng hostname ay maaari ring magdulot ng humaharang na paghahanap. Ang kilalang lokal na address ay mas malinaw na input kapag iyon ang pagpipiliang nilalayon ng application.

Kaugnay na mga artikulo