java - 高级 Java 驱动 Telnet 示例代码的位置

标签 java testing automation driver telnet

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

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 套接字和协议(protocol)但可以驱动 telnet session 的示例代码。

最佳答案

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);

关于java - 高级 Java 驱动 Telnet 示例代码的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7364874/

相关文章:

java - Android 为什么我会遇到循环依赖异常

java - 测试游戏算法速度

java - JScrollPaneLayout怎么设置和JTable一样?

java - Android - 将 JSON 加载到 ListView

java - Java Mission Control Flight Recorder 中没有记录 CPU 使用情况

ios - Swift 单例测试

testing - 云版进度报告(公开预览)功能什么时候发布?

java - 无法启动实际应用程序,但加载 helloworld

javascript - Cypress 请求默认等待?

selenium - 如何自动化使用外部应用程序的网站?