如何通过 socks5 代理使用 JavaScript socket.io-client 库?

Posted

技术标签:

【中文标题】如何通过 socks5 代理使用 JavaScript socket.io-client 库?【英文标题】:How to use JavaScript socket.io-client library via socks5 proxy? 【发布时间】:2017-11-06 07:34:47 【问题描述】:

我在 socket.io 的文档中没有找到任何关于代理的内容。

但也许可以通过一些选项设置来设置代理?

是否有任何解决方法可以通过 Node 中的 socks5 代理来处理这个 socket.io?

【问题讨论】:

【参考方案1】:

SocketIO 不支持开箱即用的代理。您需要的是一个自定义的 http 代理,它通过代理进行隧道传输。幸运的是,有socks-proxy-agent。这是一个演示:

const ProxyAgent = require('socks-proxy-agent')
const IO = require('socket.io-client')

// agent for a local socks5 proxy
const Agent = new ProxyAgent('socks5://127.0.0.1:9050')

// connect to domain.com via Agent
const SocketClient = IO('http://domain', 
    agent: Agent,
)

SocketClient.on('connect', ()=>
    console.log('connected via proxy!')
)

【讨论】:

以上是关于如何通过 socks5 代理使用 JavaScript socket.io-client 库?的主要内容,如果未能解决你的问题,请参考以下文章

如何在Linux下配置socks5代理

如何正确认识socks5代理ip

如何通过 socks5 为 PHP 制作代理流?

DNS 的 SOCKS5 代理如何在浏览器中工作?

如何让vmware虚拟机经过socks5代理?

通过 SOCKS5 代理的 SSL 连接