Нэг cURL дамжуулалтад локал интерфэйс ба проксийг сонгох
Локал эхэд CURLOPT_INTERFACE, зуучлагчид CURLOPT_PROXY ашиглаж, OS-ийн чиглүүлэлт ба NAT-ыг харгалзана уу.
Олон локал хаягтай машин форвард прокситой холбогдохдоо тэдгээрийн аль нэгийг ашиглах шаардлагатай байж болно. cURL хоёр сонголтыг хоёуланг нь тодорхой хийж чадна:
curl_setopt_array($handle, [
CURLOPT_URL => 'https://example.com/',
CURLOPT_INTERFACE => '192.0.2.20',
CURLOPT_PROXY => 'http://proxy.example:8080',
]);
Энэ нь одоо байгаа cURL handle-д зориулсан жишээ тохиргоо юм. 192.0.2.20-г PHP ажиллаж байгаа машин дээр үнэхээр боломжтой эх хаягаар солино уу. Прокси бүртгэлгүйгээр зөвшөөрөгдсөн нийтийн хүсэлтийн хувьд HTTP прокси жагсаалт нь прокси утганд зориулсан алсын сонсогчийг өгч чадна.
CURLOPT_INTERFACE нь гарч буй холболтын локал талыг сонгоно. CURLOPT_PROXY нь хүсэлтийг цааш зөөх зуучлагчийг сонгоно. Локал эх сонгох нь тэр машиныг алсын прокси болгохгүй, дурын нийтийн IP өгөхгүй.
Энэ замд локал сонголт нь прокси руу чиглэсэн холболтод нөлөөлнө. Вэб сайт ерөнхийдөө проксины цаашдын эх хаягийг хардаг. Аль ч хосын хоорондох NAT нь хүлээн авагч бүрийн харж буй хаягийг улам хөрвүүлж болно.
Хэрэв интерфэйсийн сонголтыг орхивол libcurl нь тохирох эхийг сонгохыг TCP стек-д зөвшөөрнө. Тэр сонголт нь машины сүлжээний тохиргоог дагана; тохиргооны файлын эхний хаяг ялна гэдэг нь бүх нийтийн дүрэм биш.
libcurl нь дэмжигдсэн платформ дээр интерфэйсийн нэрийг хүлээн авдаг боловч түүний баримт бичиг энэ сонголтын хувьд Windows интерфэйсийн нэрийн сонголтыг хассан. hostname ашиглах нь блоклодог хайлт үүсгэж болно. Програмын зорьж буй сонголт нь тэр бол мэдэгдэж буй локал хаяг нь илүү тодорхой оролт юм.