Які проксі выкарыстаў гэты запыт PHP cURL?
Адрознівайце наладжаны проксі, далучаны вузел і публічны выхад, які бачыць прызначэнне.
«Атрымаць проксі» у праграме на PHP cURL можа азначаць тры розныя рэчы. Вызначце, якое назіранне вам патрэбна, перш чым дадаваць яшчэ адзін запыт.
| Пытанне | Дзе глядзець |
|---|---|
| Які пункт прызначэння наладзіла праграма? | Канфігурацыя, перададзеная дэскрыптару |
| Ці выкарыстоўваўся проксі для гэтай перадачы? | Інфармацыя пра перадачу, дзе гэта падтрымліваецца |
| Які публічны адрас убачыў сайт? | Назіранне на гэтым пункце прызначэння |
Трымайце выбраны пункт прызначэння побач з дэскрыптарам або аб'ектам запыту. curl_getinfo — інтэрфейс інфармацыі пра перадачу, а не ўніверсальны гетэр для кожнага значэння CURLOPT, прызначанага раней. Захоўваць канфігурацыю праграмы прасцей, чым спрабаваць перахапіць выклікі curl_setopt.
Агледзіце завершаную перадачу
Пасля перадачы далучаны вузел даступны праз CURLINFO_PRIMARY_IP. Калі першае злучэнне ідзе да проксі, гэты вузел можа быць адрасам проксі, а не адрасам сайта.
$peer = curl_getinfo($ch, CURLINFO_PRIMARY_IP);
$usedProxy = defined('CURLINFO_USED_PROXY')
? curl_getinfo($ch, constant('CURLINFO_USED_PROXY'))
: null;
CURLINFO_USED_PROXY дададзены ў libcurl у 8.7.0 і даступны ў сумяшчальных зборках PHP. Яго вынік паведамляе пра выкарыстанне проксі, а не пра поўны URL выбранага проксі. Калі канстанта недаступная, null вышэй азначае, што назіранне недаступнае, а не тое, што запыт ішоў напрамую.
Чытайце гэтыя значэнні, пакуль дэскрыптар яшчэ апісвае менавіта гэтую аперацыю. Няўдалае злучэнне можа не даць карыснага адраса вузла, а яўны проксі ўсё яшчэ можа быць абыйдзены праз адпаведнае выключэнне.
Пункт праверкі IP адказвае на трэцяе пытанне. Яго адказ можа апісваць выхад за проксі, а наладжанае імя хоста развязваецца ў іншы ўваход. Ні адзін адрас не павінен падмяняцца іншым у наладах праграмы.