החלת פרוקסי נבחר על לקוח TIdHTTP של Delphi
חברו בחירה מרשימת Delphi להגדרת הפרוקסי של TIdHTTP, עם ערכי נקודת קצה מאומתים ואפשרות ישירה מפורשת.
תיבת רשימה יכולה להציג מאה פרוקסים בעוד TIdHTTP ממשיך להשתמש באותו אחד. בחירת שורה משנה את הממשק; הבקשה הבאה משנה מסלול רק לאחר שנקודת הקצה הנבחרת מגיעה להגדרות לקוח ה-HTTP.
להורדות HTTP ציבוריות, רשומות מרשימת פרוקסי ה-HTTP יכולות לספק נקודות קצה מועמדות. שמרו מארח ופורט שלם מאחורי כל רשומה מוצגת. כשהבחירה מתקבלת, החילו את שניהם לפני תחילת ההורדה:
IdHTTP1.ProxyParams.ProxyServer := ChosenHost;
IdHTTP1.ProxyParams.ProxyPort := ChosenPort;
Page := IdHTTP1.Get(TargetURL);
קטע זה מניח לקוח פנוי, נקודת קצה מאומתת ואת המשתנים הקיימים של האפליקציה. כתובת ה-URL של היעד נשארת האתר. שדה המארח של הפרוקסי מקבל מארח, לא את כתובת האתר ולא תווית תצוגה.
בחירה זקוקה לשלוש תוצאות אפשריות
- בחירת פרוקסי תקפה מספקת מארח ופורט מ-1 עד 65535.
- בחירת Direct מפורשת מנקה את מארח הפרוקסי לבקשה הבאה.
- בחירה לא תקפה או חסרה משאירה את ההגדרה הנוכחית ללא שינוי ומבקשת מהמשתמש לתקן אותה.
שמירה על התוצאות נפרדות מונעת משורה שאינה נבחרת לשלוח unexpectedly את הבקשה הבאה ישירות. השביתו את כפתור הבקשה כל עוד בחירה חדשה אינה שלמה.
אם נקודות הקצה מגיעות כטקסט, נתחו ואמתו אותן לפני שינוי כל אחת משתי התכונות. TryStrToInt מאפשר לממשק לדווח על פורט שגוי בלי חריגת המרה שאינה נתפסת. פיצול בנקודתיים הראשונה מתאים רק לתבנית שם מארח-או-IPv4 מוגבלת בכוונה: ליטרל IPv6 מכיל נקודתיים משל עצמו. שדה מארח ושדה פורט נפרדים מפשטים את הייצוג השמור.
אל תתנו ללחיצה בממשק לשנות לקוח שעובד כבר משתמש בו. החילו את הבחירה בין פעולות, או תנו לכל פעולה מקבילה לקוח מוגדר משלה. הבורר שולט בחיבורים עתידיים; הוא אינו יכול להעביר העברה מבוססת ליציאה אחרת.