שליפת כתובת URL של HTTP דרך פרוקסי עם PHP file_get_contents
הגדרת עטיפת זרם ה-HTTP של PHP עבור פרוקסי קדמי, כולל עיצוב הבקשה ומגבלות של הקשרי זרם.
עבור בקשת HTTP רגילה ללא cURL של PHP, העבר הקשר פרוקסי לעטיפת זרם ה-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 בפועל של חבילה לפני שתצפה שהיא תשתמש בהקשר זה.