【问题标题】:Location of Sample Code for Java Driving Telnet at a High LevelJava驱动Telnet高级示例代码位置
【发布时间】:2011-09-11 04:57:18
【问题描述】:

我在这里查看了几个关于使用 Java 驱动 telnet 会话的问题,虽然我看到了一些套接字/协议级别的代码,以及针对这个或那个 telnet 库的一些建议,但我没有看到示例代码或指向使用这些库之一驱动 telnet 会话的示例代码的指针。没有理由不能这么简单:

MyTel session = new MyTel("host.myco");
session.start();
session.waitForThenType("login:", "imauser");
session.waitForThenType("Password:","secr3et");
String output = session.waitForThenType("Solaris", "tail MyFile.txt");
session.waitForThenType("%>","exit");
session.end();
// enjoy output here

因此,寻找一些不使用 telnet 套接字和协议但可以驱动 telnet 会话的示例代码。

【问题讨论】:

    标签: java testing automation driver telnet


    【解决方案1】:

    Which Java Telnet or openSSH library?

    http://sadun-util.sourceforge.net/telnet_library.html

    sadun 代码是一组更大的实用程序的一部分。你需要的是这些文件:

    com.deltax.util (all)
    org.sadun.util.tp (all)
    org.sadun.util
    > Cache.java
    > ClassResolver.java
    > OperationTimedoutException.java
    > TelnetInputStream.java
    > TelnetInputStreamConsumer.java
    > TelnetNVTChannel.java
    > Terminable.java
    > UnixLoginHandler.java
    

    这将允许您编写一个类似于问题中的程序:

    Socket s = new Socket("host.myco", 23);
    Writer w = new OutputStreamWriter(s.getOutputStream());
    UnixLoginHandler handler = new UnixLoginHandler(s);
    TelnetInputStreamConsumer is = handler.doLogin("imauser","secre3t");
    System.out.println(is.consumeInput(10000));
    is.setConsumptionOperationsTimeout(10000);
    w.write("tail MyFile.txt\r\n");w.flush();
    String output = is.consumeByCriteria(new TelnetInputStreamConsumer.ContainsStringCriterium("$ "));
    handler.doLogout();
    System.out.println("output:\n" + output);
    

    【讨论】:

    • 我正在寻找远程登录。那个链接看起来不错。我现在要玩它。谢谢。
    • 没问题——记得点赞或接受答案;这就是让网站继续运行的原因:)
    【解决方案2】:

    我强烈推荐使用Apache Commons Net。特别是他们的TelnetClient 类。

    另见:

    我已经实现了我自己的 telnet 客户端类,它简单地包装了 Apache 提供的客户端类。它可扩展且易于使用。

    注意:

    我遇到的唯一问题是禁用回显。有关详细信息,请参阅我未解决的问题:

    【讨论】:

      猜你喜欢
      • 2016-07-08
      • 2010-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-13
      • 2023-02-15
      • 1970-01-01
      相关资源
      最近更新 更多