java telnet(java telnet设置超时时间)

      最后更新:2023-08-06 14:42

      利用java来telnet到某个服务器的程序运行不了,如何修改?

      您好,您这样: package place.in.javaeye;import java.io.InputStream;import java.io.PrintStream;import org.apache.commons.net.telnet.TelnetClient;public class Shell{private TelnetClient telnet = new TelnetClient();private InputStream in;private PrintStream out;private char prompt = '$';// 普通用户结束public Shell(String ip, int port, String user, String password){try{telnet.connect(ip, port);in = telnet.getInputStream();out = new PrintStream(telnet.getOutputStream());// 根据root用户设置结束符this.prompt = user.equals("root") ? '#' : '>';login(user, password);}catch (Exception e){e.printStackTrace();}}/*** 登录** @param user* @param password*/public void login(String user, String password){//readUntil("login:");readUntil("login:");write(user);readUntil("Password:");write(password);readUntil(prompt + "");}/*** 读取分析结果** @param pattern* @return*/public String readUntil(String pattern){try{char lastChar = pattern.charAt(pattern.length() - 1);StringBuffer sb = new StringBuffer();char ch = (char)in.read();while (true){sb.append(ch);if (ch == lastChar){if (sb.toString().endsWith(pattern)){return sb.toString();}}ch = (char)in.read();System.out.print(ch);}}catch (Exception e){e.printStackTrace();}return null;}/*** 写操作** @param value*/public void write(String value){try{out.println(value);out.flush();}catch (Exception e){e.printStackTrace();}}/*** 向目标发送命令字符串** @param command* @return*/public String sendCommand(String command){try{write(command);return readUntil(prompt + "");}catch (Exception e){e.printStackTrace();}return null;}/*** 关闭连接*/public void disconnect(){try{telnet.disconnect();}catch (Exception e){e.printStackTrace();}}public static void main(String[] args) {TelnetClient telnet = new TelnetClient();try {Shell she =new Shell("10.**.***.***", 23, "***", "***");System.out.println(she);System.out.println(she.sendCommand("ls"));she.disconnect();}catch (Exception e) {// TODO: handle exception}} }
      利用java来telnet到某个服务器的程序运行不了,如何修改?

      怎样用JAVA编程实现telnet?

      use Socket's connect(SocketAddress endpoint, int timeout)PROC can enablement telnet's function,if catch exception declaration telnet fail try ...{Socket server = new Socket();InetSocketAddress address = new InetSocketAddress("192.168.0.113",8080);server.connect(address, 5000);server.close();} catch (UnknownHostException e) ...{System.out.println("telnet lose");} catch (IOException e) ...{System.out.println("telnet lose");} 乱码凑合着交八
      怎样用JAVA编程实现telnet?

      java代码访问telnet,并受到返回值

      import java.io.InputStream; import java.io.PrintStream;import org.apache.commons.net.telnet.TelnetClient;public class Shell {private TelnetClient telnet = new TelnetClient();private InputStream in;private PrintStream out;private char prompt = '$';// 普通用户结束public Shell(String ip, int port, String user, String password) {try {telnet.connect(ip, port);in = telnet.getInputStream();out = new PrintStream(telnet.getOutputStream());// 根据root用户设置结束符this.prompt = user.equals("root") ? '#' : '>';login(user, password);} catch (Exception e) {e.printStackTrace();}}/*** 登录** @param user* @param password*/public void login(String user, String password) {// read()Until("login:");readUntil("login:");write(user);readUntil("Password:");write(password);readUntil(prompt + "");}/*** 读取分析结果** @param pattern* @return*/public String readUntil(String pattern) {try {char lastChar = pattern.charAt(pattern.length() - 1);StringBuffer sb = new StringBuffer();char ch = (char) in.read();while (true) {sb.append(ch);if (ch == lastChar) {if (sb.toString().endsWith(pattern)) {return sb.toString();}}ch = (char) in.read();System.out.print(ch);}} catch (Exception e) {e.printStackTrace();}return null;}/*** 写操作** @param value*/public void write(String value) {try {out.println(value);out.flush();} catch (Exception e) {e.printStackTrace();}}/*** 向目标发送命令字符串** @param command* @return*/public String sendCommand(String command) {try {write(command);return readUntil(prompt + "");} catch (Exception e) {e.printStackTrace();}return null;}/*** 关闭连接*/public void disconnect() {try {telnet.disconnect();} catch (Exception e) {e.printStackTrace();}}public static void main(String[] args) {//TelnetClient telnet = new TelnetClient();try {Shell she = new Shell("192.168.1.10", 23, "root", "123456");System.out.println(she);//执行的命令System.out.println(she.sendCommand("ll"));she.disconnect();} catch (Exception e) {// TODO: handle exception}} }
      java代码访问telnet,并受到返回值

      java代码访问telnet,并受到返回值

      那就自己重写方法,把返回的CMD信息字符串截取,截取你想要的信息。做一个工具类,直接调用工具类方法就行了,然后你还可以把工具类放到CSDN上赚积分,哈哈。
      java代码访问telnet,并受到返回值

      java实现telnet 如何发送 y/n

      参考一下代码:用telnet是这样:telnet time-A.timefreq.bldrdoc.gov 13用socket是这样:1. import java.io.*; 2. import java.net.*; 3. 4. /** 5.    This program makes a socket connection to the atomic clock 6.    in Boulder, Colorado, and prints the time that the 7.    server sends. 8. */ 9. public class SocketTest10. {11.    public static void main(String[] args)12.    {13.       try14.       {15.          Socket s = new Socket("time-A.timefreq.bldrdoc.gov",16.             13);17.18.          BufferedReader in = new BufferedReader19.             (new InputStreamReader(s.getInputStream()));20.          boolean more = true;21.          while (more)22.          {23.             String line = in.readLine();24.             if (line == null)25.                more = false;26.             else27.                System.out.println(line);28.          }29.30.       }31.       catch (IOException e)32.       {33.          e.printStackTrace();34.       }35.    }36. }
      你网上copy的源代码吧,肯定try模块里面的处理机制要么没抄全要么源代码里面就没给你。自己加个输入后的判断执行语句就好了
      java实现telnet 如何发送 y/n

      本文由 在线网速测试 整理编辑,转载请注明出处。

          热门文章

          文章分类