Java URLConnection解析DNS,即使使用代理
我正在开发一个必须通过SOCKS代理(Tor)连接的应用程序。我已经能够通过代理成功打开Java URLConnection解析DNS,即使使用代理,java,proxy,dns,tor,socks,Java,Proxy,Dns,Tor,Socks,我正在开发一个必须通过SOCKS代理(Tor)连接的应用程序。我已经能够通过代理成功打开套接字和SSLSocket连接,而无需向默认DNS服务器发出任何DNS请求(即代理处理DNS)。接下来我要实现的是Http,我通常使用HttpURLConnection类来实现。我尝试使用URL.openConnection(proxy),但java使用默认DNS服务器解析IP,而不是让代理处理DNS 我尝试创建自己的URLConnection/HttpURLConnection实现,但没有成功。我还查看了其
套接字
和SSLSocket
连接,而无需向默认DNS服务器发出任何DNS请求(即代理处理DNS)。接下来我要实现的是Http,我通常使用HttpURLConnection
类来实现。我尝试使用URL.openConnection(proxy)
,但java使用默认DNS服务器解析IP,而不是让代理处理DNS
我尝试创建自己的URLConnection
/HttpURLConnection
实现,但没有成功。我还查看了其他一些Http客户机库,但对它们也没有什么好运气,因为它们大多数都使用内置的HttpURLConnection
类
我还研究了如何强制HttpURLConnection
类为Http使用预连接的套接字,这样我就可以像往常一样打开一个套接字,让代理在使用HttpURLConnection
类包装它之前处理DNS,但这似乎是不可能的
现在我不知道如何解决这个问题。所有想法都受到赞赏
下面是我现在拥有的代码(没有任何http支持,只有Socket
和SSLSocket
):
谢谢