我試圖通過Java中的SOCKS(v4/v5)代理創建一個http請求。閱讀維基百科上的襪子通信協議後,我已經把togheter這段代碼:Java Socks代理套接字錯誤
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上的代理,它的工作原理非常完美。所以...問題出在我的應用程序中。
任何人都可以幫助我嗎? 謝謝!
爲什麼? Java已經支持SOCKS代理。你不必自己寫。請參閱Javadoc /功能/網絡指南。 – EJP
是的......它已經支持SOCKS,但它在整個虛擬機上。我需要在不同代理服務器上同時進行多個連接 –
所以看到java.net代理。 – EJP