2017-06-07 2 views
0

誰でもJavaコードを通じてTORにNEWNYMシグナルを送信する方法を知っていますか?NEWNYMをJavaで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

あなたは[WebRequest](http://htmlunit.sourceforge.net/apidocs/com/gargoylesoftware/htmlunit/WebRequest.html)を作り、 'setHTTPMethod'を使ってNEWNYMにすることができるように見えますNEWNYMがクエリパラメータではなくHTTP動詞/メソッドであると仮定して)、s WebClientのWebConnectionを使用して終了します – Aaron

答えて

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」私は追加するには十分TORもHTMLUnitを知らない

関連する問題