Maison >Java >javaDidacticiel >Comment puis-je récupérer un fichier d'un serveur SFTP à l'aide de Java et JSch ?

Comment puis-je récupérer un fichier d'un serveur SFTP à l'aide de Java et JSch ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-03 18:44:12505parcourir

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

Récupérer un fichier depuis un serveur via SFTP en Java

Pour récupérer un fichier depuis un serveur distant via SFTP, les programmeurs Java ont plusieurs options à leur disposition. Un choix populaire est la bibliothèque JSch.

Utilisation de JSch pour la récupération de fichiers SFTP

JSch est une bibliothèque largement utilisée pour les opérations SSH et SFTP en Java. Il offre une prise en charge complète de l'authentification par mot de passe et par certificat, ainsi qu'une gamme d'autres fonctionnalités SSH2.

Pour une simple récupération de fichier SFTP à l'aide de JSch, vous pouvez suivre ces étapes :

  1. Créez une nouvelle instance JSch.
  2. Définissez les clés d'hôte connues à l'aide setKnownHosts.
  3. Établissez une session SSH en créant un objet Session à l'aide de getSession.
  4. Définissez les informations d'authentification de l'utilisateur via setUserInfo ou setPassword.
  5. Connectez la session à l'aide de connect.
  6. Ouvrez un canal SFTP en utilisant openChannel et connectez-le en utilisant connect.
  7. Utilisez la méthode get de l'objet ChannelSftp pour récupérer le fichier distant et enregistrez-le localement.

Voici un exemple d'extrait de code pour la récupération de fichiers SFTP à l'aide de 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();

Ce code établit une session SSH, s'authentifie à l'aide d'un mot de passe, ouvre un canal SFTP et récupère le fichier distant "fichier distant" vers le fichier local "fichier local".

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn