פֿאַרבינדן Autobahn Twisted WSS דורך אַן HTTP פּראָקסי
לאָזט connectWS קאָאָרדינירן דעם פּראָקסי־ענדפּוינט און שפּעטער דעם TLS פֿון דער דעסטינאַציע אַנשטאָט עפענען אַ דירעקטן ענדפּוינט לעבן אַ פֿאַבריק וואָס פֿאַרשטייט פּראָקסי.
אַ Twisted ענדפּוינט פֿירט אויס די TCP פֿאַרבינדונג. אַ WebSocket פֿאַבריק וואָס איז קאָנפיגורירט צו פֿאַרהאַנדלען אַ פּראָקסי דאַרף נאָך דעם ענדפּוינט צו פֿאַרבינדן זיך מיטן מיטלער.
פֿאַר אַן עקסיסטירנדיקער Autobahn אַפּלאַקיישאַן וואָס ניצט איר סטאַנדאַרד העלפּער:
from autobahn.twisted.websocket import WebSocketClientFactory, connectWS
from twisted.internet import ssl
factory = WebSocketClientFactory(
'wss://events.example/channel',
proxy={'host': 'proxy.example', 'port': 8080},
)
factory.protocol = ApplicationProtocol
connector = connectWS(
factory,
contextFactory=ssl.optionsForClientTLS('events.example'),
timeout=10,
)
ApplicationProtocol איז די עקסיסטירנדיקע WebSocket פּראָטאָקאָל קלאַס פֿון דער אַפּלאַקיישאַן. האַלט דעם רעאַקטאָר און די רייניקונג פֿון דער פֿאַרבינדונג אין לעבנס־ציקל פֿון יענער אַפּלאַקיישאַן. פֿאַר אַ פּובליק WSS סערוויס וואָס איז דערלויבט דורך אַ פּובליקן מיטלער, די HTTP פּראָקסי ליסטע שטעלט צו קאַנדידאַטן פֿאַר דעם פּראָקסי האָסט און פּאָרט פֿון דער פֿאַבריק.
פֿאַר אַ פֿאַבריק קאָנפיגורירט מיט אַ פּראָקסי, פֿאַרבינדט connectWS TCP צום פּראָקסי און האַלט דעם TLS קאָנטעקסט פֿון דער דעסטינאַציע פֿאַר דער שפּעטערדיקער זיכערער פֿאַרבינדונג. ער פֿאַרוויקלט נישט אין אָנהייב די געוויינטלעכע HTTP פּראָקסי פֿאַרבינדונג אין דעם TLS פֿון דער דעסטינאַציע.
אַ געאייגנטער אָרדענונג פֿון HostnameEndpoint און ClientService מוז באַוואָרען די זעלבע צוטיילונג: ערשט פֿאַרבינדן זיך מיטן פּראָקסי, דערנאָך לאָזן דער קאָנפיגורירטער פֿאַבריק פֿאַרהאַנדלען דעם ציל און אויפֿשטעלן דעם נייטיקן TLS. פֿאַרבינדן דעם ענדפּוינט גלײך צו events.example בשעת איר פֿאַבריק ערוואַרט אַ פּראָקסי געשפּרעך פֿאַרמישט די ראָלעס.
דער WebSocket URL בלײַבט דער אמת'ער דעסטינאַציע פֿון דער סערוויס. זײַן האָסט נאָמען שטעלט אויך צו די TLS אידענטיטעט; אים פֿאַרבײַטן מיטן פּראָקסי האָסט נאָמען קאָנפיגורירט נישט די געמיינטע זיכערע סערוויס.