gpt4 book ai didi

Java Socks 代理套接字错误

转载 作者:行者123 更新时间:2023-12-01 05:06:04 25 4
gpt4 key购买 nike

我正在尝试通过Java中的SOCKS(v4/v5)代理创建http请求。在阅读了维基百科上有关 socks 通信协议(protocol)的内容后,我将这段代码放在一起:

Socket sock = new Socket();
InetSocketAddress remoteProxyAddress = new InetSocketAddress(proxy ip, proxy port);
sock.connect(remoteProxyAddress, connTimeout);

InputStream in = sock.getInputStream();
OutputStream out = sock.getOutputStream();

out.write(0x04);
out.write(0x01);
out.write((endpoint.getPort() >> 8) & 0xff);
out.write((endpoint.getPort() >> 0) & 0xff);
out.write(endpoint.getAddress().getAddress());
out.write(0x0);
out.flush();

这是我从代理服务器读取的部分。问题是响应始终为“-1”。

我已经在 Firefox 上尝试过代理,效果非常好。所以...问题出在我的应用程序中。

有人可以帮助我吗?谢谢!

最佳答案

您不认为您连接的服务器仅支持 Socks v5 协议(protocol)吗?

您的连接请求一切正常。如果服务器启用了 v4,您的代码应该可以正常工作。我正在使用非常相似的实现,绝对成功。

你也应该看看这个Socket()构造函数 - 它可能足以满足您的需求。它存在于 JRE 1.6 和 JRE 1.7 中

关于Java Socks 代理套接字错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12653912/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com