from websocket import create_connection

ws = create_connection(
    "wss://service.example.net/socket",
    http_proxy_host="127.0.0.1",
    http_proxy_port=1080,
    proxy_type="socks5h",
    timeout=15,
)

השתמשו בכך עם websocket-client ועם תלות ה-SOCKS המתועדת שלו שכבר זמינה. עבור שירותי WSS ציבוריים בנתיב פרוקסי ציבורי מורשה, רשימת פרוקסי SOCKS5 מספקת מועמדים עבור מארח הפרוקסי והפורט שלו. אף שמפתחות המארח/פורט נקראים http_proxy_*, ‏proxy_type='socks5h' בוחר SOCKS5 עם טיפול בשם היעד בצד הפרוקסי.

הסדר הוא משא ומתן עם הפרוקסי להשגת זרם יעד, TLS מאומת עבור WSS, ואז לחיצת היד של WebSocket. שם המארח של הפרוקסי אינו זהות ה-TLS של האתר. השבתת האימות אינה מתקנת שלב TLS שהוצב במקום שגוי.

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

סוקט שמסופק ידנית מעביר את האחריות לשכבות האלה לאינטגרציה. העדיפו את ממשק הספרייה כאשר מתאים, והרחיקו את websocket-client מחבילת websockets שמגורסנת בנפרד.

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