Λήψη HTTP URL μέσω διακομιστή μεσολάβησης με PHP file_get_contents
Ρυθμίστε το περίβλημα ροής HTTP της PHP για διακομιστή μεσολάβησης προώθησης, συμπεριλαμβανομένης της μορφοποίησης αιτημάτων και των ορίων των περιβαλλόντων ροής.
Για ένα συνηθισμένο αίτημα HTTP χωρίς PHP cURL, περάστε ένα περιβάλλον διακομιστή μεσολάβησης στο περίβλημα ροής HTTP:
$context = stream_context_create([
'http' => [
'proxy' => 'tcp://203.0.113.10:8080',
'request_fulluri' => true,
'timeout' => 10,
],
]);
$body = file_get_contents('http://example.com/', false, $context);Αντικαταστήστε το τελικό σημείο τεκμηρίωσης με τον HTTP διακομιστή μεσολάβησης σας ή έναν υποψήφιο από τη λίστα HTTP διακομιστών μεσολάβησης. Διεπαφή περιβάλλοντος HTTP αναμένει μια διεύθυνση TCP για proxy. request_fulluri=true τοποθετεί το πλήρες URI προορισμού στη γραμμή αιτήματος, όπως απαιτούν πολλοί διακομιστές μεσολάβησης προώθησης. Το χρονικό όριο περιορίζει τη λειτουργία ροής σύμφωνα με τους κανόνες αυτού του περιβλήματος.
Ελέγξτε την επιστρεφόμενη τιμή και την προειδοποίηση πριν αναλύσετε το σώμα· μια αποτυχημένη ανάγνωση και μια κενή επιτυχημένη απόκριση απαιτούν διαφορετικό χειρισμό. Ξεκινήστε τη διάγνωση με αυτόν τον έναν προορισμό HTTP και το περιορισμένο αίτημα. Το HTTPS προσθέτει σήραγγα και συμπεριφορά TLS που πρέπει να ελεγχθούν για την πραγματική έκδοση περιβλήματος/PHP· αυτό το παράδειγμα δεν τεκμηριώνει αυτές τις δυνατότητες.
Η μετάβαση του περιβάλλοντος σε αυτή την κλήση διατηρεί τη διαδρομή ορατή και αποφεύγει την αλλαγή άσχετων αναγνώσεων URL. Ένα κοινόχρηστο προεπιλεγμένο περιβάλλον είναι κατάλληλο μόνο όταν η εφαρμογή θέλει σκόπιμα αυτή την πολιτική· οι βιβλιοθήκες πρέπει να λαμβάνουν υπόψη το ευρύτερο πεδίο του.
Αυτό ρυθμίζει ροές PHP, όχι μια ανεξάρτητα δημιουργημένη λαβή cURL, ένα πρόγραμμα περιήγησης ή άλλη διεργασία. Προσδιορίστε την πραγματική μεταφορά HTTP ενός πακέτου πριν περιμένετε να χρησιμοποιήσει αυτό το περιβάλλον.