הקביעה הישנה ש-Python תמיד שולח HTTP/1.0 עבור CONNECT אינה עוד כלל כללי בטוח. Python 3.12 שינה את המינהור ב-http.client ל-HTTP/1.1 והוסיף יצירה אוטומטית של כותרת Host כשהיא לא מסופקת.

השינוי הזה שייך למימוש המתועד של הספרייה התקנית. ספריית HTTP ברמה גבוהה יותר יכולה לעקוף או לעטוף את התנהגות המינהור, לכן תרשמו את הגרסה שלה וגם את גרסת Python.

אם פרוקסי דוחה את המינהור, בדקו את חילופי ה-CONNECT שהלקוח הזה באמת יצר. שינוי גרסת ה-HTTP של בקשת היעד או הוספת כותרת Host לבקשת האתר לא בהכרח משנה את בקשת המינהור הקודמת.

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

הפרידו בין שתי השיחות בדוח: בקשת ה-HTTP ששימשה לפתיחת המינהור, ואחר כך הפרוטוקול שנוהל משא ומתן עם היעד בתוכו. הם יכולים להשתמש בגרסאות שונות ולהיכשל בשלבים שונים.

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