הפניות ב-Python Requests: None מול ערכי proxy ריקים
שמרו על כוונת ניתוב ישיר מפורשת לאורך ההפניות במקום להסתמך על ערך None שמסיר רשומת מיפוי.
אם בקשה ישירה מגיעה להפניה והחילוף הבא נכשל ב-proxy, בדקו את המעבר. Requests בונה מחדש הגדרות הקשורות ל-proxy עבור הפניות ועשוי לפנות שוב לסביבה כאשר ה-Session סומך עליו.
| ערך המיפוי | מה קורה בזמן המיזוג |
|---|---|
None | המפתח מוסר, ונותרת רשומה חסרה שאיתה מעבר מאוחר יותר יכול למלא מהסביבה. |
| מחרוזת ריקה | הערך המפורש נשאר; הוא יכול לשמר את כוונת הניתוב הישיר עבור אותה סכימה. |
עבור Session קיים, ספקו את סכימות היעד המעורבות בפעולה הישירה:
response = session.get(
'https://example.com/start',
proxies={'http': '', 'https': ''},
timeout=15,
)בדקו מיפויים נוספים ייחודיים למארח ומתאמים מותאמים אם היישום מספק אותם. קלט הניתוב הזה אינו עוקף כל מדיניות אפשרית שאותם רכיבים מיישמים.
שמרו כל URL באבחון
תעדו את ה-URL המקורי, כל מיקום הפניה, מצב התגובה והשלב שנכשל. מעבר מ-HTTP ל-HTTPS משנה את מפתח הסכימה הרלוונטי; מארח חדש עשוי ליפול מחוץ לכלל העקיפה של המארח הראשון. דוח שמכיל רק את ה-URL הראשוני מסתיר את שני המעברים.
התבוננות בתגובה אחת עם מעקב הפניות מושבת יכולה לחשוף את הגבול. בחנו את מיקומה כנתון לפני החלטה לבקש אותו; אל תשלחו את פרטי הכניסה המקוריים ליעד חדש ללא הבחנה.
Session ייעודי עם גילוי סביבה מושבת הוא אפשרות נוספת כאשר היישום מחזיק בכוונה בכל קלטי הניתוב והאמון. זה משפיע גם על גילוי אוטומטי של פרטי כניסה ו-CA, לכן בחרו בו כמדיניות יישום ולא כתיקון שגרתי של הפניה.