Heim > Java > javaLernprogramm > Wie kann ich mit Java und JSch eine Datei von einem SFTP-Server abrufen?

Wie kann ich mit Java und JSch eine Datei von einem SFTP-Server abrufen?

Susan Sarandon
Freigeben: 2024-12-03 18:44:12
Original
565 Leute haben es durchsucht

How Can I Retrieve a File from an SFTP Server Using Java and JSch?

Abrufen einer Datei von einem Server über SFTP in Java

Um eine Datei von einem Remote-Server über SFTP abzurufen, stehen Java-Programmierern mehrere Optionen zur Verfügung. Eine beliebte Wahl ist die JSch-Bibliothek.

JSch zum Abrufen von SFTP-Dateien verwenden

JSch ist eine weit verbreitete Bibliothek für SSH- und SFTP-Vorgänge in Java. Es bietet umfassende Unterstützung sowohl für die passwortbasierte als auch für die zertifikatbasierte Authentifizierung sowie eine Reihe anderer SSH2-Funktionen.

Für einen einfachen SFTP-Dateiabruf mit JSch können Sie die folgenden Schritte ausführen:

  1. Erstellen Sie eine neue JSch-Instanz.
  2. Legen Sie die bekannten Hostschlüssel mit fest setKnownHosts.
  3. Errichten Sie eine SSH-Sitzung, indem Sie mit getSession ein Sitzungsobjekt erstellen.
  4. Legen Sie Benutzerauthentifizierungsinformationen über setUserInfo oder setPassword fest.
  5. Verbinden Sie die Sitzung mit connect.
  6. Öffnen Sie einen SFTP-Kanal mit openChannel und verbinden Sie ihn mit connect.
  7. Verwenden die get-Methode des ChannelSftp-Objekts, um die Remote-Datei abzurufen und lokal zu speichern.

Hier ist ein Beispielcode-Snippet für den SFTP-Dateiabruf mit JSch:

JSch jsch = new JSch();
jsch.setKnownHosts("/home/username/.ssh/known_hosts");

Session session = jsch.getSession("remote-username", "remote-host");
session.setPassword("remote-password");
session.connect();

Channel channel = session.openChannel("sftp");
channel.connect();

ChannelSftp sftpChannel = (ChannelSftp) channel;
sftpChannel.get("remote-file", "local-file");

sftpChannel.exit();
session.disconnect();
Nach dem Login kopieren

Dieser Code legt fest eine SSH-Sitzung, authentifiziert sich mit einem Passwort, öffnet einen SFTP-Kanal und ruft die Remote-Datei „remote-file“ in die lokale Datei ab „lokale Datei“.

Das obige ist der detaillierte Inhalt vonWie kann ich mit Java und JSch eine Datei von einem SFTP-Server abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage