Kiun prokurilon uzis ĉi tiu PHP cURL peto?
Distingu la agorditan prokurilon, la konektitan samtavolan nodon kaj la publikan eliron, kiun vidas celo.
“Preni la prokurilon” povas signifi tri malsamajn aferojn en PHP cURL aplikaĵo. Decidu, kiun observon vi bezonas, antaŭ ol aldoni plian peton.
| Demando | Kie rigardi |
|---|---|
| Kiun finpunkton agordis la aplikaĵo? | La agordo donita al la tenilo |
| Ĉu oni uzis prokurilon por ĉi tiu transigo? | Transiga informo, kie ĝi estas subtenata |
| Kiun publikan adreson vidis la retejo? | Observo ĉe tiu celo |
Konservu la elektitan finpunkton apud la tenilo aŭ la peta objekto. curl_getinfo estas interfaco pri transiga informo, ne ĝenerala legilo por ĉiu antaŭe asignita CURLOPT-valoro. Konservi la aplikaĵan agordon estas pli simpla ol provi interkapti alvokojn de curl_setopt.
Ekzamenu la finitan transigon
Post la transigo, la konektita nodo estas havebla per CURLINFO_PRIMARY_IP. Kiam la unua konekto iras al prokurilo, tiu nodo povas esti la adreso de la prokurilo anstataŭ la adreso de la retejo.
$peer = curl_getinfo($ch, CURLINFO_PRIMARY_IP);
$usedProxy = defined('CURLINFO_USED_PROXY')
? curl_getinfo($ch, constant('CURLINFO_USED_PROXY'))
: null;
CURLINFO_USED_PROXY aldoniĝis al libcurl en 8.7.0 kaj estas elmetata de kongruaj PHP-konstruaĵoj. Ĝia rezulto raportas uzon de prokurilo, ne la plenan URL de la elektita prokurilo. Se la konstanto ne haveblas, null supre signifas, ke la observo ne haveblas, ne ke la peto iris rekte.
Legu ĉi tiujn valorojn dum la tenilo ankoraŭ priskribas la koncernan operacion. Malsukcesa konekto eble ne donos utilan nodan adreson, kaj eksplicita prokurilo ankoraŭ povas esti preterpasata per aplikebla escepto.
Finpunkto por kontroli IP respondas la trian demandon. Ĝia respondo povas priskribi eliron malantaŭ la prokurilo, dum la agordita gastignomo solviĝas al alia enirejo. Neniu el la du adresoj anstataŭu la alian en la agordoj de la aplikaĵo.