“להשיג את הפרוקסי” יכול להתכוון לשלושה דברים שונים ביישום PHP cURL. החליטו איזו תצפית דרושה לכם לפני שמוסיפים בקשה נוספת.

שאלההיכן להסתכל
איזו נקודת קצה הגדיר היישום?התצורה שנמסרה לידית
האם נעשה שימוש בפרוקסי להעברה הזו?מידע על ההעברה, במקומות שבהם הוא נתמך
איזו כתובת ציבורית ראה האתר?תצפית בנקודת היעד הזו

שמרו את נקודת הקצה שנבחרה לצד הידית או אובייקט הבקשה. curl_getinfo הוא ממשק למידע על ההעברה, ולא גטר כללי לכל ערך CURLOPT שהוקצה קודם. שמירת תצורת היישום פשוטה יותר מניסיון ליירט קריאות curl_setopt.

בדקו את ההעברה שהושלמה

לאחר ההעברה, העמית המחובר זמין דרך CURLINFO_PRIMARY_IP. כאשר החיבור הראשון עובר דרך פרוקסי, העמית הזה יכול להיות כתובת הפרוקסי ולא כתובת האתר.

$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 תואמות. התוצאה שלו מדווחת על שימוש בפרוקסי, ולא על ה-URL המלא של הפרוקסי שנבחר. אם הקבוע אינו זמין, null שלמעלה פירושו שהתצפית אינה זמינה, ולא שהבקשה עברה ישירות.

קראו את הערכים האלה כל עוד הידית עדיין מתארת את הפעולה הנדונה. חיבור שנכשל עשוי לא להניב כתובת עמית שימושית, ופרוקסי מפורש יכול עדיין להיעקף על ידי החרגה חלה.

נקודת קצה לבדיקת IP עונה על השאלה השלישית. התשובה שלה יכולה לתאר יציאה מאחורי הפרוקסי, בעוד ששם המארח המוגדר נפתר לכניסה אחרת. אין להחליף כתובת אחת בשנייה בהגדרות היישום.

מאמרים קשורים