Који прокси је користио овај 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-а одговара на треће питање. Њен одговор може описати излаз иза проксија, док се конфигурисано име хоста разрешава на други улаз. Ниједна адреса не сме се заменити другом у подешавањима апликације.