ServerXMLHTTP setProxy: מצב 1 בוחר חיבור ישיר
השתמשו בקבוע מצב הפרוקסי הנכון של ServerXMLHTTP והשאירו את רשימת העקיפה בנפרד מנקודות קצה פרוקסי חלופיות.
נראה שהקריאה הזו ב-VBA בוחרת את הפרוקסי השמור ב-proxyServer:
http.setProxy 1, proxyServer, bypassList
ב-MSMXL ServerXMLHTTP הארגומנט הראשון בוחר את מצב הפרוקסי. הערכים המתועדים הם 0 עבור תצורת ברירת המחדל, 1 עבור חיבור ישיר ו-2 עבור פרוקסי שנמסר במפורש. העברת כתובת אחרי 1 אינה הופכת מצב ישיר למצב פרוקסי ידני.
דוגמה מינימלית לפרוקסי ידני:
Dim http As Object
Set http = CreateObject("MSXML2.ServerXMLHTTP.6.0")
http.setProxy 2, "proxy.example:8080", "<local>"
http.Open "GET", "https://example.com/", False
http.send
נקודת הקצה בדוגמה היא מציין מקום. לבדיקת פרוקסי ציבורי החליפו אותה בכתובת HTTP מרשימת פרוקסי HTTP. הארגומנט השלישי הוא רשימת עקיפה; כאן <local> משתמש בחריגת השם המקומי המתועדת. זה אינו פרוקסי שני לנסות אם הראשון נכשל. לכן הצבת IP ופורט של פרוקסי אחר שם מבטאת סוג הגדרה שגוי.
השתמשו בקבועים בעלי שם במקומות שבהם הפניות ה-VBA שלכם חושפות אותם, או הגדירו את הקבוע הרלוונטי באופן מקומי בעת שימוש בקישור מאוחר, כדי שהמצב ייראה בזמן הסקירה.
שמרו גם על סוג האובייקט באופק. ServerXMLHTTP, XMLHTTP הפונה לדפדפן ו-WinHttpRequest הם ממשקי COM שונים. דוגמה שעובדת לאחד אינה מוכיחה את מקור התצורה של האחר. לאחר שהאובייקט הנכון בוחר מצב פרוקסי ידני, בדקו כל שגיאת חיבור, אימות או TLS שנותרה במסלול הזה.