Кој прокси го користеше ова PHP cURL барање?
Разликувајте го конфигурираниот прокси, поврзаниот пар и јавниот излез што го гледа одредиштето.
„Земи прокси“ во PHP cURL апликација може да значи три различни работи. Одлучете кое набљудување ви треба пред да додадете уште едно барање.
| Прашање | Каде да се погледне |
|---|---|
| Која крајна точка ја конфигурираше апликацијата? | Конфигурацијата дадена на рачката |
| Дали е користено прокси за овој пренос? | Информации за преносот, каде што е поддржано |
| Која јавна адреса ја виде веб-страницата? | Набљудување на тоа одредиште |
Чувајте ја избраната крајна точка покрај рачката или објектот на барањето. curl_getinfo е интерфејс за информации за преносот, не општ getter за секоја претходно доделена вредност 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 одговара на третото прашање. Нејзиниот одговор може да опише излез зад проксито, додека конфигурираното име на домаќин се решава на различен влез. Ниту една од двете адреси не треба да се замени со другата во поставките на апликацијата.