ב-Indy 10, חברו את TIdHTTP לפרוקסי SOCKS דרך ה-IOHandler שלו. בהנחה שהטופס כבר מכיל את הרכיבים Http, SocketHandler ו-Socks:

Http.IOHandler := SocketHandler;
SocketHandler.TransparentProxy := Socks;
Socks.Host := 'proxy.example';
Socks.Port := 1080;
Socks.Version := svSocks5;

Page := Http.Get('http://example.com/');

כאן SocketHandler הוא TIdIOHandlerStack ו-Socks הוא TIdSocksInfo. הגדירו את הרכיבים לפני הבקשה. בדוגמה זו של אתר ציבורי ללא פרטי פרוקסי מוגדרים, בחרו מועמד SOCKS5 מתוך רשימת פרוקסי SOCKS5 והשאירו כל נתיב פרוקסי HTTP מיושן נקי כמתואר להלן. בחירת גרסת SOCKS חשובה משום שברירת המחדל היא svNoSocks.

ה-ProxyParams של TIdHTTP מגדירים פרוקסי HTTP. נתיב SOCKS בלבד שייך ל-TransparentProxy במקום. השארת פרוקסי HTTP גם שם עלולה לתאר מתווך נוסף מעבר לחיבור ה-SOCKS, לכן נקו הגדרת פרוקסי HTTP מיושנת כשהיא אינה חלק מהנתיב המיועד.

לאימות SOCKS5 בשם משתמש/סיסמה, הגדירו Socks.Authentication ל-saUsernamePassword וספקו את שם המשתמש והסיסמה. IOHandler בעל יכולות SSL צריך לשמור על תפקיד ה-TLS שלו; חברו את SOCKS לממשק הפרוקסי שהוא יורש במקום להחליפו במטפל פשוט.

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