使用 Commons Net 2.0,一个简单的JAVA Telnet 客户端实现 .netJavaApacheUnix
程序员文章站
2024-03-01 20:07:28
...
一个简单的JAVA Telnet 客户端实现
commons-net-2.0.jar telnet功能的简单使用,
这个包实现了很多基本的基于Intenet协议,下面是 commons 支持的协议:
- FTP/FTPS
- NNTP
- SMTP
- POP3
- Telnet
- TFTP
- Finger
- Whois
- rexec/rcmd/rlogin
- Time (rdate) and Daytime
- Echo
- Discard
- NTP/SNTP
下面简单写一个程序做telnet的测试,此程序仅作测试,所以很多写法并不规范。
import java.io.IOException; import java.io.InputStream; import java.io.PrintStream; import org.apache.commons.net.telnet.TelnetClient; public class CommonsTelnetTest { private final String ip = ""; // 要telnet的IP地址 private final String port = "23"; //端口号,默认23 private final String user = "";//用户名 private final String pwd = ""; //用户密码 private final String osTag = "$";// 系统标示符号 private final TelnetClient tc = new TelnetClient(); //新建一个 TelnetClient对象,此对象是 commons-net-2.0.jar包提供 private InputStream in; // 输入流,接收返回信息 private PrintStream out; //像 服务器写入 命令 public void connect() { try { tc.connect(ip, Integer.parseInt(port)); in = tc.getInputStream(); out = new PrintStream(tc.getOutputStream()); } catch (Exception e) { System.out.println("connect error !"); } } public String execute(String command) { connect(); out.println(command); out.flush(); StringBuffer sb = new StringBuffer(); try { char ch = (char) in.read(); while (true) { sb.append(ch); if (ch == osTag.charAt(osTag.length() - 1)) { if (sb.toString().endsWith(osTag)) return sb.toString(); } ch = (char) in.read(); } } catch (IOException e) { e.printStackTrace(); } return "error! when the program execute"; } public static void main(String [] args){ System.out.println(new CommonsTelnetTest().execute("ls")); } }
这是 commons 2.0 API的地址 :http://commons.apache.org/net/apidocs/index.html
上一篇: 怎样才能使大网站规范