Ποιο proxy χρησιμοποίησε αυτό το αίτημα PHP cURL;
Διακρίνετε το ρυθμισμένο proxy, τον συνδεδεμένο peer και την δημόσια έξοδο που βλέπει ένας προορισμός.
Το «πάρε το proxy» μπορεί να σημαίνει τρία διαφορετικά πράγματα σε μια εφαρμογή PHP cURL. Αποφασίστε ποια παρατήρηση χρειάζεστε πριν προσθέσετε άλλο αίτημα.
| Ερώτηση | Πού να κοιτάξετε |
|---|---|
| Ποιο τελικό σημείο ρύθμισε η εφαρμογή; | Η διαμόρφωση που δόθηκε στη λαβή |
| Χρησιμοποιήθηκε proxy για αυτή τη μεταφορά; | Πληροφορίες μεταφοράς, όπου υποστηρίζεται |
| Ποια δημόσια διεύθυνση είδε ο ιστότοπος; | Μια παρατήρηση σε αυτόν τον προορισμό |
Κρατήστε το επιλεγμένο τελικό σημείο δίπλα στη λαβή ή στο αντικείμενο αιτήματος. Το curl_getinfo είναι διεπαφή πληροφοριών μεταφοράς, όχι γενικός getter για κάθε τιμή CURLOPT που έχει εκχωρηθεί προηγουμένως. Η διατήρηση της διαμόρφωσης της εφαρμογής είναι απλούστερη από την προσπάθεια υποκλοπής κλήσεων curl_setopt.
Εξετάστε την ολοκληρωμένη μεταφορά
Μετά τη μεταφορά, ο συνδεδεμένος peer είναι διαθέσιμος μέσω CURLINFO_PRIMARY_IP. Όταν η πρώτη σύνδεση πηγαίνει σε proxy, αυτός ο peer μπορεί να είναι η διεύθυνση του proxy και όχι η διεύθυνση του ιστότοπου.
$peer = curl_getinfo($ch, CURLINFO_PRIMARY_IP);
$usedProxy = defined('CURLINFO_USED_PROXY')
? curl_getinfo($ch, constant('CURLINFO_USED_PROXY'))
: null;
Το CURLINFO_USED_PROXY προστέθηκε στο libcurl στην έκδοση 8.7.0 και εκτίθεται από συμβατές εκδόσεις PHP. Το αποτέλεσμά του αναφέρει χρήση proxy, όχι το πλήρες URL του επιλεγμένου proxy. Αν η σταθερά δεν είναι διαθέσιμη, το null παραπάνω σημαίνει ότι η παρατήρηση δεν είναι διαθέσιμη, όχι ότι το αίτημα πήγε απευθείας.
Διαβάστε αυτές τις τιμές όσο η λαβή περιγράφει ακόμη τη συγκεκριμένη λειτουργία. Μια αποτυχημένη σύνδεση μπορεί να μη δώσει χρήσιμη διεύθυνση peer, και ένα ρητό proxy μπορεί ακόμη να παρακαμφθεί από μια ισχύουσα εξαίρεση.
Ένα τελικό σημείο ελέγχου IP απαντά στο τρίτο ερώτημα. Η απάντησή του μπορεί να περιγράφει μια έξοδο πίσω από το proxy, ενώ το ρυθμισμένο όνομα κεντρικού υπολογιστή επιλύεται σε διαφορετική είσοδο. Καμία από τις δύο διευθύνσεις δεν πρέπει να αντικατασταθεί από την άλλη στις ρυθμίσεις της εφαρμογής.