Abrufen von Dateien über SFTP in Java
Beim Verwenden von SFTP anstelle von FTPS zum Abrufen von Dateien von einem Remote-Server stehen Java-Entwickler vor einer einzigartigen Herausforderung . Ein Ansatz besteht darin, die JSch-Bibliothek zu erkunden, eine weit verbreitete Wahl für seriöse Open-Source-Projekte wie Eclipse, Ant und Apache Commons HttpClient.
JSch unterstützt nahtlos sowohl Benutzername/Passwort als auch zertifikatbasierte Anmeldungen und bietet eine umfassendes Spektrum an SSH2-Funktionen. Nachfolgend präsentieren wir ein rudimentäres Beispiel für das Abrufen einer Datei über SFTP mit JSch:
JSch jsch = new JSch(); String knownHostsFilename = "/home/username/.ssh/known_hosts"; jsch.setKnownHosts( knownHostsFilename ); Session session = jsch.getSession( "remote-username", "remote-host" ); { // "interactive" version // can selectively update specified known_hosts file // need to implement UserInfo interface // MyUserInfo is a swing implementation provided in // examples/Sftp.java in the JSch dist UserInfo ui = new MyUserInfo(); session.setUserInfo(ui); // OR non-interactive version. Relies in host key being in known-hosts file session.setPassword( "remote-password" ); } session.connect(); Channel channel = session.openChannel( "sftp" ); channel.connect(); ChannelSftp sftpChannel = (ChannelSftp) channel; sftpChannel.get("remote-file", "local-file" ); // OR InputStream in = sftpChannel.get( "remote-file" ); // process inputstream as needed sftpChannel.exit(); session.disconnect();
Das obige ist der detaillierte Inhalt vonWie kann ich mit JSch Dateien über SFTP in Java abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!