Ce proxy a folosit această cerere PHP cURL?
Distingeți proxy-ul configurat, partenerul conectat și ieșirea publică observată de o destinație.
„Obține proxy-ul” poate însemna trei lucruri diferite într-o aplicație PHP cURL. Decideți de ce observație aveți nevoie înainte de a adăuga o altă cerere.
| Întrebare | Unde să priviți |
|---|---|
| Ce punct final a configurat aplicația? | Configurația transmisă handle-ului |
| A fost folosit un proxy pentru acest transfer? | Informații despre transfer, unde sunt acceptate |
| Ce adresă publică a văzut site-ul? | O observație la acea destinație |
Păstrați punctul final ales lângă handle sau obiectul cererii. curl_getinfo este o interfață de informații despre transfer, nu un getter general pentru fiecare valoare CURLOPT atribuită anterior. Păstrarea configurației aplicației este mai simplă decât încercarea de a intercepta apelurile curl_setopt.
Inspectați transferul finalizat
După transfer, partenerul conectat este disponibil prin CURLINFO_PRIMARY_IP. Când prima conexiune merge către un proxy, acel partener poate fi adresa proxy-ului, nu adresa site-ului.
$peer = curl_getinfo($ch, CURLINFO_PRIMARY_IP);
$usedProxy = defined('CURLINFO_USED_PROXY')
? curl_getinfo($ch, constant('CURLINFO_USED_PROXY'))
: null;
CURLINFO_USED_PROXY a fost adăugat în libcurl în 8.7.0 și este expus de versiunile PHP compatibile. Rezultatul raportează utilizarea proxy-ului, nu URL-ul complet al proxy-ului ales. Dacă constanta nu este disponibilă, null de mai sus înseamnă că observația nu este disponibilă, nu că cererea a mers direct.
Citiți aceste valori cât timp handle-ul descrie încă operațiunea respectivă. O conexiune eșuată poate să nu ofere o adresă utilă a partenerului, iar un proxy explicit poate fi totuși ocolit de o excludere aplicabilă.
Un punct final de verificare IP răspunde la a treia întrebare. Răspunsul său poate descrie o ieșire din spatele proxy-ului, în timp ce numele de gazdă configurat se rezolvă către o altă intrare. Niciuna dintre cele două adrese nu trebuie înlocuită cu cealaltă în setările aplicației.