即使使用代理,URLConnection也可以解析DNS

时间:2017-02-08 11:54:22

标签: java proxy dns tor socks

我正在开发一个必须通过SOCKS代理(Tor)连接的应用程序。我已经能够通过代理成功打开SocketSSLSocket连接,而不会向我的默认DNS服务器发出任何DNS请求(即代理处理DNS)。我想要实现的下一件事是Http,我通常会使用HttpURLConnection类。我尝试使用URL.openConnection(proxy),但是java使用我的默认DNS服务器解析IP而不是让代理处理DNS。

我尝试创建自己的URLConnection / HttpURLConnection实现,但没有运气。我还查看了其他一些Http客户端库,但由于大多数都使用内置的HttpURLConnection类,因此没有运气。

我还考虑强制HttpURLConnection类为Http使用预先连接的套接字,因此我可以像往常一样打开套接字并让代理处理DNS,然后用{{1}包装它} class,但看起来这是不可能的。

此时我不知道如何解决这个问题。所有的想法都受到赞赏。

以下是我现在的代码(没有任何http支持,仅HttpURLConnectionSocket):https://github.com/tadejgasparovic/JTor

谢谢!

0 个答案:

没有答案