Ku xidh Autobahn Twisted WSS iyada oo loo marayo HTTP proxy
U ogolow connectWS inuu isku duwo barta proxy-ga iyo TLS-ka goobta dambe halkii aad ka furi lahayd barta tooska ah agteeda warshad proxy-ga garanaysa.
Barta Twisted ayaa qabata xidhiidhka TCP. Warshadda WebSocket ee loo habeeyay inay proxy ka wada hadasho waxay wali u baahan tahay bartaas si ay ugu xidhanto dhexdhexaadiyaha.
Wixii ku saabsan barnaamijka Autobahn ee jira ee isticmaalaya caawiyihiisa caadiga ah:
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 waa fasalka borotokoolka WebSocket ee barnaamijka ku jira. Hay reactor-ka iyo nadiifinta xidhiidhka gudaha meertada nolosha barnaamijkaas. Adeegga WSS ee dadweynaha ee loo oggol yahay iyada oo loo marayo dhexdhexaadiye dadweyne, liiska HTTP proxy wuxuu bixiyaa musharixiin loogu talagalay hostka proxy-ga iyo dekedda warshadda.
Warshadda loo habeeyay proxy, connectWS waxay TCP ku xidhaa proxy-ga oo ay hayaan macnaha TLS ee goobta xidhiidhka dambe ee ammaan ah. Bilowga ma duubo xidhiidhka caadiga ah ee HTTP proxy ee TLS-ka goobta.
Habaynta HostnameEndpoint iyo ClientService ee gaarka ah waa inay ilaaliso isla qaybintaas: marka hore ku xidh proxy-ga, ka dib u ogolow warshadda la habeeeyay inay ka wada hadasho bartilmaameedka oo ay dhistaan TLS-ka loo baahan yahay. In barta si toos ah loogu xidho events.example halka warshaddeeda filanayso wada-hadal proxy waxay isku qasaysaa doorarkaas.
URL-ka WebSocket wuxuu ahaanayaa goobta dhabta ah ee adeegga. Magaceeda host-ka ayaa sidoo kale bixiya aqoonsiga TLS; in lagu beddelo magaca host-ka proxy ma habayso adeegga ammaan ee loogu talagalay.