“Hae välityspalvelin” voi tarkoittaa PHP cURL -sovelluksessa kolmea eri asiaa. Päätä, mitä havaintoa tarvitset, ennen kuin lisäät uuden pyynnön.

KysymysMistä katsoa
Minkä päätepisteen sovellus määritti?Kahvaan annettu määritys
Käytettiinkö tässä siirrossa välityspalvelinta?Siirron tiedot, kun tuettu
Minkä julkisen osoitteen sivusto näki?Havainto kyseisessä kohteessa

Pidä valittu päätepiste kahvan tai pyyntöolion rinnalla. curl_getinfo on siirtotietojen rajapinta, ei yleinen getter jokaiselle aiemmin asetetulle CURLOPT-arvolle. Sovelluksen määrityksen säilyttäminen on yksinkertaisempaa kuin curl_setopt-kutsujen sieppaaminen.

Tarkastele valmistunutta siirtoa

Siirron jälkeen yhdistetty vastapuoli on saatavilla CURLINFO_PRIMARY_IP:n kautta. Kun ensimmäinen yhteys menee välityspalvelimelle, vastapuoli voi olla välityspalvelimen osoite eikä sivuston osoite.

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

CURLINFO_USED_PROXY lisättiin libcurliin versiossa 8.7.0, ja yhteensopivat PHP-koonnokset tarjoavat sen. Sen tulos kertoo välityspalvelimen käytöstä, ei valitun välityspalvelimen täydellistä URL-osoitetta. Jos vakio ei ole käytettävissä, yllä oleva null tarkoittaa, että havainto ei ole käytettävissä, ei että pyyntö meni suoraan.

Lue nämä arvot, kun kahva vielä kuvaa kyseistä toimintoa. Epäonnistunut yhteys ei välttämättä anna käyttökelpoista vastapuolen osoitetta, ja eksplisiittinen välityspalvelin voidaan silti ohittaa soveltuvalla poikkeuksella.

IP-tarkistuksen päätepiste vastaa kolmanteen kysymykseen. Sen vastaus voi kuvata välityspalvelimen takana olevan lähdön, kun taas määritetty isäntänimi ratkeaa toiseen sisäänkäyntiin. Kumpaakaan osoitetta ei pidä korvata toisella sovelluksen asetuksissa.

Aiheeseen liittyvät artikkelit