任何人都知道如何通过java代码将NEWNYM信号发送到TOR?
说我有这个:
String adress = "http://some-adress";
WebClient webClient = new WebClient(BrowserVersion.FIREFOX_52);
ProxyConfig proxyConfig = new ProxyConfig("127.0.0.1", 9150, true);
webClient.getOptions().setProxyConfig(proxyConfig);
webClient.getOptions().setJavaScriptEnabled(false);
webClient.getOptions().setUseInsecureSSL(true);
HtmlPage page = (HtmlPage)webClient.getPage(adress);
从技术上讲,我可以这样做来重新启动应用程序,并获得一个新的身份:
Runtime.getRuntime().exec("C:/Users/user/Desktop/Tor Browser/Browser/firefox.exe");
Runtime.getRuntime().exec("TASKKILL /F /IM firefox.exe");
但必须有一种方法来发送NEWNYM信号,因为以这种方式获得TOR的新身份是相当混乱的。
任何人都可以帮助我吗?
答案 0 :(得分:0)
HtmlUnit使用Apache HttpClient连接到服务器。
根据这个answer,您可以直接致电:
public static void torNewIP() throws Exception { Socket socket = new Socket(); socket.connect(new InetSocketAddress(TOR_IP, TOR_CONTROL_PORT)); socket.getOutputStream().write(new String("SIGNAL NEWNYM\r\n").getBytes()); socket.close(); }
启用'TOR_CONTROL_PORT'后