java - Java telnet连接以请求新的tor身份

标签 java sockets connection telnet tor

我正在尝试使用telnet来请求tor的新身份。据我了解,您应该发送

authenticate ""

然后如果响应为“250 OK”,则发送
signal newnym

使用此代码,我得到的响应为“null”。我还使用了多个telnet客户端库,并获得了相同的结果。
try {
        Socket socket = new Socket("localhost", 9050);
        PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
        BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
        out.println("authenticate \"\"");
        System.out.println(in.readLine()); //should be 250 but is null

        out.close();
        in.close();
        socket.close();
    } catch (Exception e) {
        e.printStackTrace();
    }

最佳答案

该文档说所有命令都区分大小写。因此,您应该以UPPER大小写发送它们(根据文档)。

我还发现一个有效的新身份请求看起来像

AUTHENTICATE
250 OK
SIGNAL NEWNYM
250 OK

希望对您有所帮助!

关于java - Java telnet连接以请求新的tor身份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30727168/

相关文章:

java - 将文本文件转换为二维数组

c# - C#套接字服务器如何取消卡在socket.accept()中的线程

java - 在设置 AutoCommit true 之前关闭连接发生了什么

java - MapReduce:一行输入文件的两次拆分(执行map方法)

java - 通过代码API访问Spring配置属性元数据

c++ - Socket connect() 总是成功(TCP over ActiveSync)

C socket编程,服务器发送缓冲区似乎没有被清除

c# - 连接字符串 : 'database' 中不支持关键字

php - 使用 PHP 连接、授权和获取 Web 应用程序的数据

java - ConcurrentHashMap 作为缓存