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