我使用以下代码建立SSH连接,并通过curl将文件下载到SSH服务器。它给了我一个没有消息的异常。在这一点上,我真的不知道该怎么做。
try{
JSch jsch=new JSch();
String host=selectedItem.getHost();
String user="down2home";
int port = selectedItem.getPort();
String password = selectedItem.getPass();
String dlurl = dlurlField.getText().toString();
Session session=jsch.getSession(user, host, port);
session.setPassword(password);
UserInfo ui = new MyUserInfo(){
};
ByteArrayOutputStream out = new ByteArrayOutputStream();
String command = "curl -L --create-dirs -o /home/paul/Desktop/geeknights/geeknights.mp3 "+dlurl+"\r\n";
out.write(command.getBytes());
out.flush();
InputStream in = new ByteArrayInputStream(out.toByteArray());
session.setUserInfo(ui);
session.connect(30*1000); // making a connection with timeout.
Channel channel=session.openChannel("shell");
channel.setInputStream(in);
channel.setOutputStream(System.out);
channel.connect(3*1000);
}
catch(Exception e){
String errorMessage = (e.getMessage()==null)?"Message is empty":e.getMessage();
Log.e("Exception:", errorMessage );
}回溯:
06-08 00:33:16.561: E/Exception:(9293): Message is empty发布于 2013-06-09 06:03:29
结果是一台NetworkOnMainThreadException。不确定为什么它不使用e.getMessage()给我这个消息
https://stackoverflow.com/questions/16994812
复制相似问题