无法使用java中的silvertunnel netlib连接到tor网络

无法使用java中的silvertunnel netlib连接到tor网络,java,tor,silvertunnel,Java,Tor,Silvertunnel,我正在尝试连接到tor网络以发送匿名HTTP请求。但它抛出了非法BlockSizeException。我使用了silvertunnel.org\u netlib.jar public static void main(String[] args) { try { // TODO code application logic here NetLayer lowerNetLayer = NetFactory.getInstance()

我正在尝试连接到tor网络以发送匿名HTTP请求。但它抛出了非法BlockSizeException。我使用了
silvertunnel.org\u netlib.jar

public static void main(String[] args) {
        try {
            // TODO code application logic here
             NetLayer lowerNetLayer = NetFactory.getInstance().getNetLayerById(NetLayerIDs.TOR); 

            lowerNetLayer.waitUntilReady();
            NetlibURLStreamHandlerFactory factory = new NetlibURLStreamHandlerFactory(false);
             factory.setNetLayerForHttpHttpsFtp(lowerNetLayer);
            String urlStr = "http://www.whatismyip.com/";
            URLStreamHandler handler = factory.createURLStreamHandler("http");
            URL context = null;
            URL url = new URL(context, urlStr, handler);
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        connection.setDoOutput(true);
        connection.setRequestMethod("GET");
        //connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
        //connection.setRequestProperty("Content-Length",  String.valueOf(postData.length()));

        // Write data
         OutputStream os = connection.getOutputStream();


        // Read response
        StringBuilder responseSB = new StringBuilder();
         BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream()));

        String line;
        while ( (line = br.readLine()) != null)
           responseSB.append(line);

        // Close streams
        br.close();
        os.close();
        Document doc=Jsoup.parse(responseSB.toString());

        } catch (IOException ex) {
            System.out.println(ex);
        }

    }
我得到了这个错误:

`WARNING: Directory.updateNetworkStatusNew Exception
java.lang.RuntimeException: javax.crypto.IllegalBlockSizeException: Data must not be longer than 256 bytes
    at org.silvertunnel.netlib.layer.tor.util.Encryption.verifySignature(Encryption.java:272)
    at org.silvertunnel.netlib.layer.tor.directory.DirectoryConsensus.<init>(DirectoryConsensus.java:117)
    at org.silvertunnel.netlib.layer.tor.directory.Directory.updateNetworkStatusNew(Directory.java:377)
    at org.silvertunnel.netlib.layer.tor.directory.Directory.refreshListOfServers(Directory.java:287)
    at org.silvertunnel.netlib.layer.tor.directory.DirectoryManagerThread.updateDirectory(DirectoryManagerThread.java:60)
    at org.silvertunnel.netlib.layer.tor.directory.DirectoryManagerThread.run(DirectoryManagerThread.java:76)
Caused by: javax.crypto.IllegalBlockSizeException: Data must not be longer than 256 bytes
    at com.sun.crypto.provider.RSACipher.doFinal(RSACipher.java:337)
    at com.sun.crypto.provider.RSACipher.engineDoFinal(RSACipher.java:382)
    at javax.crypto.Cipher.doFinal(Cipher.java:2087)
    at org.silvertunnel.netlib.layer.tor.util.Encryption.verifySignature(Encryption.java:251)
    ... 5 more
`
`WARNING:Directory.updateNetworkStatusNew异常
java.lang.RuntimeException:javax.crypto.IllegalBlockSizeException:数据长度不得超过256字节
位于org.silvertunnel.netlib.layer.tor.util.Encryption.verifySignature(Encryption.java:272)
位于org.silvertunnel.netlib.layer.tor.directory.directorycensus.(directorycensus.java:117)
位于org.silvertunnel.netlib.layer.tor.directory.directory.updateNetworkStatusNew(directory.java:377)
位于org.silvertunnel.netlib.layer.tor.directory.directory.refreshListOfServers(directory.java:287)
位于org.silvertunnel.netlib.layer.tor.DirectoryManagerThread.updateDirectory(DirectoryManagerThread.java:60)
位于org.silvertunnel.netlib.layer.tor.directory.DirectoryManagerThread.run(DirectoryManagerThread.java:76)
原因:javax.crypto.IllegalBlockSizeException:数据长度不得超过256字节
位于com.sun.crypto.provider.rsaciper.doFinal(rsaciper.java:337)
在com.sun.crypto.provider.rsaciper.engineDoFinal上(rsaciper.java:382)
位于javax.crypto.Cipher.doFinal(Cipher.java:2087)
位于org.silvertunnel.netlib.layer.tor.util.Encryption.verifySignature(Encryption.java:251)
... 还有5个
`
System.setProperty('socksProxyHost','127.0.0.1')

System.setProperty('socksProxyPort','9051')


在main method中添加这两行并使用

use也可以使用Autoidetityswitcher作为交换机标识。此答案不回答问题,但建议使用不同的工具并链接到死点。