Transfert de fichiers sécurisé en Python : une solution indépendante de la plate-forme
Le développement logiciel moderne met l'accent sur la nécessité de protocoles de transfert de données sécurisés et fiables. À cette fin, SFTP (Secure File Transfer Protocol) est devenu un choix populaire en raison de ses mécanismes robustes de cryptage et d’authentification. Cependant, trouver une bibliothèque Python appropriée pour SFTP peut être difficile pour ceux qui découvrent le langage.
Implémentations SFTP en Python
Pour résoudre ce problème, explorons deux Python bibliothèques qui offrent une prise en charge complète de SFTP :
Paramiko est une bibliothèque bien établie qui permet des connexions sécurisées et des transferts de fichiers SFTP. Il dispose d'algorithmes de cryptage puissants et d'options de personnalisation, ce qui le rend adapté à divers cas d'utilisation.
<code class="python">import paramiko host = "THEHOST.com" # hard-coded port = 22 transport = paramiko.Transport((host, port)) password = "THEPASSWORD" # hard-coded username = "THEUSERNAME" # hard-coded transport.connect(username=username, password=password) sftp = paramiko.SFTPClient.from_transport(transport) import sys path = './THETARGETDIRECTORY/' + sys.argv[1] # hard-coded localpath = sys.argv[1] sftp.put(localpath, path) sftp.close() transport.close() print('Upload done.')</code>
Twisted Conch fait partie du framework Twisted et propose une API de niveau supérieur pour la fonctionnalité SFTP. Il fournit un ensemble de fonctionnalités plus complet, y compris la prise en charge de plusieurs protocoles et des fonctionnalités SSH avancées.
<code class="python">from twisted.conch.ssh import filetransfer sshFactory = ConchFactory(username, password) args = ['-l', 'user', 'machine'] sshFactory.setPublicKeysFile('.ssh/id_rsa') client = SSHClientFactory(args) client.setServiceFactory(sshFactory) reactor.connectTCP('machine', 22, client) protocol = client.getService(ConchService) protocol.openSFTP().addCallback(handleConnection)</code>
Choisir la bonne bibliothèque
La décision entre Paramiko et Twisted Conch dépend de vos besoins et exigences spécifiques :
En tirant parti de ces bibliothèques Python, les développeurs peuvent transférer des fichiers en toute sécurité via SFTP, garantissant ainsi l'intégrité et la confidentialité des données.
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!