Kuru starpniekserveri izmantoja šis PHP cURL pieprasījums?
Atšķiriet konfigurēto starpniekserveri, savienoto partneri un publisko izeju, ko redz galamērķis.
“Iegūt starpniekserveri” PHP cURL lietojumprogrammā var nozīmēt trīs dažādas lietas. Izlemiet, kāds novērojums jums nepieciešams, pirms pievienojat vēl vienu pieprasījumu.
| Jautājums | Kur skatīties |
|---|---|
| Kuru galapunktu lietojumprogramma konfigurēja? | Konfigurācija, kas nodota rokturim |
| Vai šai pārsūtīšanai tika izmantots starpniekserveris? | Pārsūtīšanas informācija, kur tā tiek atbalstīta |
| Kuru publisko adresi redzēja vietne? | Novērojums šajā galamērķī |
Turiet izvēlēto galapunktu blakus rokturim vai pieprasījuma objektam. curl_getinfo ir pārsūtīšanas informācijas saskarne, nevis vispārīgs getteris katrai iepriekš piešķirtai CURLOPT vērtībai. Lietojumprogrammas konfigurācijas saglabāšana ir vienkāršāka nekā mēģinājums pārtvert curl_setopt izsaukumus.
Pārbaudiet pabeigto pārsūtīšanu
Pēc pārsūtīšanas savienotais partneris ir pieejams caur CURLINFO_PRIMARY_IP. Kad pirmais savienojums iet uz starpniekserveri, šis partneris var būt starpniekservera adrese, nevis vietnes adrese.
$peer = curl_getinfo($ch, CURLINFO_PRIMARY_IP);
$usedProxy = defined('CURLINFO_USED_PROXY')
? curl_getinfo($ch, constant('CURLINFO_USED_PROXY'))
: null;
CURLINFO_USED_PROXY tika pievienots libcurl versijā 8.7.0, un to nodrošina saderīgi PHP būvējumi. Tā rezultāts ziņo par starpniekservera izmantošanu, nevis izvēlētā starpniekservera pilnu URL. Ja konstante nav pieejama, null iepriekš nozīmē, ka novērojums nav pieejams, nevis to, ka pieprasījums gāja tieši.
Lasiet šīs vērtības, kamēr rokturis vēl apraksta attiecīgo darbību. Neizdevušies savienojums var nesniegt noderīgu partnera adresi, un skaidru starpniekserveri joprojām var apiet ar piemērojamu izņēmumu.
IP pārbaudes galapunkts atbild uz trešo jautājumu. Tā atbilde var aprakstīt izeju aiz starpniekservera, kamēr konfigurētais resursdatora nosaukums tiek atrisināts uz citu ieeju. Nevienu no abām adresēm lietojumprogrammas iestatījumos nevajadzētu aizstāt ar otru.