在 Java 中使用 HTTP 代理作为 SOCKS

Posted

技术标签:

【中文标题】在 Java 中使用 HTTP 代理作为 SOCKS【英文标题】:Using HTTP proxies as SOCKS in java 【发布时间】:2010-08-06 20:44:14 【问题描述】:

有没有办法将 HTTP 代理用作 SOCKS 代理?

我想用它作为一个套接字来连接一个端点并发送信息包

【问题讨论】:

【参考方案1】:

不容易。不过,根据您实际想要实现的目标,可能会有一些解决方法。

【讨论】:

我想用它作为套接字来连接端点并发送信息包【参考方案2】:

您可以使用一些 HTTP 代理来隧道 TCP 连接。这对于仅由路由器通过而无法查看流的 SSL 加密 HTTPS 流量是必需的。

但是,大多数代理会将其限制为端口 443 和其他一些众所周知的替代 HTTPS 端口,因此这不是您可以依赖的通用解决方案。

但它根本不是 SOCKS 代理,它使用 HTTP 协议和 CONNECT 方法来做到这一点。 UDP 是不可能的,也不能监听传入的连接。

【讨论】:

【参考方案3】:

Socks 是一种协议。 HTTP 可以通过 SOCKS 进行隧道传输。 HTTP 不是 SOCKS。这个问题真的没有意义。答案肯定是否定的。

【讨论】:

以上是关于在 Java 中使用 HTTP 代理作为 SOCKS的主要内容,如果未能解决你的问题,请参考以下文章

怎么把http代理转化Sock代理?

求助,Fiddler代理后网络问题.必须有果

[golang] fasthttp 使用http代理

Java实现sock5代理服务器

HTTP代理跟S0CKS5代理有啥区别??

C/C++ 高效 sock 反向代理