Python websocket-client: SOCKS5 ਪ੍ਰੌਕਸੀ ਰਾਹੀਂ ਕਨੈਕਟ ਕਰੋ
websocket-client ਨੂੰ ਦਸਤਾਵੇਜ਼ਬੱਧ SOCKS ਪ੍ਰੌਕਸੀ ਕਿਸਮ ਨਾਲ ਕੌਂਫਿਗਰ ਕਰੋ ਅਤੇ wss ਕਨੈਕਸ਼ਨ ਦੀ TLS ਪਰਤ ਲਾਇਬ੍ਰੇਰੀ ਨੂੰ ਸੰਭਾਲਣ ਦਿਓ।
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 ਚੁਣਦਾ ਹੈ।
ਕ੍ਰਮ ਹੈ ਮੰਜ਼ਿਲ ਸਟ੍ਰੀਮ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਪ੍ਰੌਕਸੀ ਗੱਲਬਾਤ, WSS ਲਈ ਪ੍ਰਮਾਣਿਤ TLS, ਫਿਰ WebSocket ਹੈਂਡਸ਼ੇਕ। ਪ੍ਰੌਕਸੀ ਹੋਸਟਨਾਮ ਵੈਬਸਾਈਟ ਦੀ TLS ਪਛਾਣ ਨਹੀਂ ਹੈ। ਪ੍ਰਮਾਣਕਰਨ ਬੰਦ ਕਰਨਾ ਗਲਤ ਥਾਂ 'ਤੇ ਰੱਖੇ TLS ਪੜਾਅ ਨੂੰ ਠੀਕ ਨਹੀਂ ਕਰਦਾ।
ਪ੍ਰਮਾਣਿਤ ਪ੍ਰੌਕਸੀ ਲਈ, ਉਸ ਪ੍ਰੌਕਸੀ ਕਿਸਮ ਲਈ ਸਥਾਪਿਤ ਸੰਸਕਰਣ ਦੀ ਦਸਤਾਵੇਜ਼ਬੱਧ ਦਲੀਲ ਵਰਤੋ। ਐਪਲੀਕੇਸ਼ਨ WebSocket ਹੈਡਰ ਪਹਿਲੇ ਵਿਚੋਲੇ ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਨਹੀਂ ਕਰਦੇ।
ਹੱਥੋਂ ਦਿੱਤਾ ਸਾਕਟ ਉਹਨਾਂ ਪਰਤਾਂ ਦੀ ਜ਼ਿੰਮੇਵਾਰੀ ਏਕੀਕਰਨ ਨੂੰ ਤਬਦੀਲ ਕਰਦਾ ਹੈ। ਜਦੋਂ ਢੁਕਵਾਂ ਹੋਵੇ ਤਾਂ ਲਾਇਬ੍ਰੇਰੀ ਇੰਟਰਫੇਸ ਨੂੰ ਤਰਜੀਹ ਦਿਓ, ਅਤੇ websocket-client ਨੂੰ ਵੱਖਰੇ ਤੌਰ 'ਤੇ ਸੰਸਕਰਣ ਵਾਲੇ websockets ਪੈਕੇਜ ਤੋਂ ਵੱਖ ਰੱਖੋ।