Бірнеше жергілікті мекенжайы бар машинаға алға жіберу проксиімен байланысы үшін солардың біреуі қажет болуы мүмкін. 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 интерфейс атауларын таңдауды жоққа шығарады. Хост атауын пайдалану да блоктайтын іздеуді тудыруы мүмкін. Белгілі жергілікті мекенжай қосымша көздеген таңдау болған кезде неғұрлым айқын кіріс болып табылады.

Қатысты мақалалар