“Dohvati proxy” u PHP cURL aplikaciji može značiti tri različite stvari. Odlučite koje vam je promatranje potrebno prije nego dodate još jedan zahtjev.

PitanjeGdje tražiti
Koju je krajnju točku aplikacija konfigurirala?Konfiguracija predana ručki
Je li proxy korišten za ovaj prijenos?Informacije o prijenosu, gdje su podržane
Koju je javnu adresu vidjelo web-mjesto?Promatranje na tom odredištu

Držite odabranu krajnju točku uz ručku ili objekt zahtjeva. curl_getinfo je sučelje za informacije o prijenosu, a ne opći getter za svaku prethodno dodijeljenu vrijednost CURLOPT. Zadržavanje konfiguracije aplikacije jednostavnije je od pokušaja presretanja poziva curl_setopt.

Pregledajte dovršeni prijenos

Nakon prijenosa, povezani partner dostupan je kroz CURLINFO_PRIMARY_IP. Kada prva veza ide prema proxyju, taj partner može biti adresa proxyja, a ne adresa web-mjesta.

$peer = curl_getinfo($ch, CURLINFO_PRIMARY_IP);
$usedProxy = defined('CURLINFO_USED_PROXY')
    ? curl_getinfo($ch, constant('CURLINFO_USED_PROXY'))
    : null;

CURLINFO_USED_PROXY dodan je u libcurl u 8.7.0 i izlažu ga kompatibilne PHP verzije. Njegov rezultat izvješćuje o korištenju proxyja, a ne o punom URL-u odabranog proxyja. Ako konstanta nije dostupna, null iznad znači da promatranje nije dostupno, a ne da je zahtjev išao izravno.

Čitajte ove vrijednosti dok ručka još opisuje dotičnu radnju. Neuspješna veza možda neće dati korisnu adresu partnera, a izričiti proxy i dalje može biti zaobiđen primjenjivim izuzetkom.

Krajnja točka za provjeru IP-a odgovara na treće pitanje. Njezin odgovor može opisati izlaz iza proxyja, dok se konfigurirano ime hosta razrješava na drugi ulaz. Nijedna adresa ne smije se zamijeniti drugom u postavkama aplikacije.

Povezani članci