我怎麼能發送到膩子用java命令? 我必須使用膩子。 我的意思是發送指令到膩子窗口,例如Java應該向膩子窗口發送「ls -l」。
回答
如果你只是需要這個SSH檢查:Jcraft的jsch:http://www.jcraft.com/jsch/
要使用膩子從Java™,你需要使用膩子的(命令行)鏈接砰砰。你可以從Putty的下載頁面得到這個:Putty Download Page
你將需要運行putty.exe來配置一個會話(在我的例子中我做了一個配置文件名「profile」)。然後您可以加載會話併發送/接收信息。不要忘記確保您同時檢查標準輸入流和錯誤輸入流。
爲了確保您能夠從Java運行它™,你可能需要做的三兩件事之一:
- 將putty.exe和plink.exe如C的地方:\ WINDOWS \
- 將putty.exe和plink.exe放在一個文件夾中,並將該文件夾添加到系統環境(推薦方法)。
- 將putty.exe和plink.exe放入與您的Java™應用程序相同的文件夾中,並確保正確引用它。
這裏是示例代碼。
try {
String command = "plink -load profile";
Runtime r = Runtime.getRuntime();
Process p = r.exec (command);
std = p.getInputStream();
out = p.getOutputStream();
err = p.getErrorStream();
out.write ("ls -l\n".getBytes());
out.flush();
Thread.sleep (1000);
int value = 0;
if (std.available() > 0) {
System.out.println ("STD:");
value = std.read();
System.out.print ((char) value);
while (std.available() > 0) {
value = std.read();
System.out.print ((char) value);
}
}
if (err.available() > 0) {
System.out.println ("ERR:");
value = err.read();
System.out.print ((char) value);
while (err.available() > 0) {
value = err.read();
System.out.print ((char) value);
}
}
p.destroy();
}
catch (Exception e) {
e.printStackTrace();
}
希望這可以幫助那些對快速建立Java快速Putty感興趣的人。這也是獲得串口通信而不需要本地驅動程序等的好方法(儘管功能有限)。
您能否詳細說明爲什麼需要'Thread.sleep(1000)'? – 2017-04-06 13:51:49
Thread.sleep(1000)
需要給運行時環境一些時間獲取輸出流。 –
2017-04-07 06:34:22
如果我不使用輸出流,我不需要睡眠權嗎? – 2017-04-07 07:55:36
你不要必須使用膩子。使用java庫連接到SSH會好得多。有關針對SSH的Java庫的討論,請參閱SSH library for Java。
- 1. 如何發送像膩子一樣的telnet命令呢?
- 2. 執行命令膩子SSH
- 3. 問題執行砰砰(膩子)命令
- 4. MySQL的膩子命令刪除重複
- 5. 什麼是膩子在Ctrl + D上發送的Telnet命令255 236?
- 6. 發送數據到膩子在powershell
- 7. 發送命令和C++
- 8. 發送botfarm命令
- 9. 通過串行發送linux命令
- 10. Symfony2和命令電子郵件發送 - 發送app_dev電子郵件
- 11. 通過膩子
- 12. 用Java發送命令到設備
- 13. Egit與Eclipse for Java發送git命令
- 14. 從Java發送命令到Linux
- 15. Ubuntu命令行電子郵件發送
- 16. 父向子發送命令行參數
- 17. Bash命令發送電子郵件
- 18. SSH.NET - 發送命令
- 19. Tibco發送命令
- 20. Python發送命令
- 21. C#發送命令
- 22. 膩子在MySQL
- 23. 當命令行Java程序在工作時發送命令
- 24. 膩子-2 -batch
- 25. 發送命令到Telnet
- 26. Gtk.Vte和feed_child:兩次發送命令
- 27. 發送命令和字符串COM1
- 28. 用Expect和ssh發送長命令
- 29. 正確的自動命令連接到路由器膩子
- 30. 膩子/ SSH:我如何得到我的命令行?
你需要SSH嗎? – 2011-04-28 11:22:03
你的意思是發送擊鍵到膩子窗口?或者你的意思是使用Java來建立SSL/SSH連接?或者你的意思是使用putty打開一個ssh隧道,然後從java連接到那個隧道? – Liv 2011-04-28 11:22:22