«Hent proxyen» kan bety tre forskjellige ting i en PHP cURL-applikasjon. Bestem hvilken observasjon du trenger før du legger til en ny forespørsel.

SpørsmålHvor du skal se
Hvilket endepunkt konfigurerte applikasjonen?Konfigurasjonen som ble gitt til håndtaket
Ble det brukt en proxy for denne overføringen?Overføringsinformasjon, der det støttes
Hvilken offentlig adresse så nettstedet?En observasjon på den destinasjonen

Hold det valgte endepunktet ved siden av håndtaket eller forespørselsobjektet. curl_getinfo er et grensesnitt for overføringsinformasjon, ikke en generell getter for hver tidligere tildelte CURLOPT-verdi. Å beholde applikasjonskonfigurasjonen er enklere enn å prøve å avskjære curl_setopt-kall.

Undersøk den fullførte overføringen

Etter overføringen er den tilkoblede peeren tilgjengelig via CURLINFO_PRIMARY_IP. Når den første forbindelsen går til en proxy, kan den peeren være proxyens adresse i stedet for nettstedets adresse.

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

CURLINFO_USED_PROXY ble lagt til i libcurl i 8.7.0 og eksponeres av kompatible PHP-bygg. Resultatet rapporterer proxybruk, ikke den valgte proxyens fullstendige URL. Hvis konstanten ikke er tilgjengelig, betyr null ovenfor at observasjonen ikke er tilgjengelig, ikke at forespørselen gikk direkte.

Les disse verdiene mens håndtaket fortsatt beskriver den aktuelle operasjonen. En mislykket tilkobling gir kanskje ikke en nyttig peer-adresse, og en eksplisitt proxy kan fortsatt omgås av et gjeldende unntak.

Et IP-sjekk-endepunkt svarer på det tredje spørsmålet. Svaret kan beskrive en utgang bak proxyen, mens det konfigurerte vertsnavnet løses til en annen inngang. Ingen av adressene bør erstattes med den andre i applikasjonens innstillinger.

Relaterte artikler