SFTP indépendant de la plate-forme avec Python
Secure File Transfer (SFTP) est essentiel pour l'échange de données sécurisé, mais trouver des bibliothèques Python qui les prennent en charge peuvent être un défi. Lorsque les informations d'identification de l'utilisateur et les emplacements distants du codage dur ne sont pas une option, l'exploration de solutions alternatives est cruciale.
Paramiko est une bibliothèque Python populaire pour SFTP. Sa syntaxe est relativement simple, comme démontré ci-dessous:
import paramiko
host = "THEHOST.com"
port = 22
transport = paramiko.Transport((host, port))
password = "THEPASSWORD"
username = "THEUSERNAME"
transport.connect(username=username, password=password)
sftp = paramiko.SFTPClient.from_transport(transport)
import sys
path = './THETARGETDIRECTORY/' sys.argv[1]
localpath = sys.argv[1]
sftp.put(localpath, path)
sftp.close()
transport.close()
print('Upload done.')
Ce code télécharge un fichier sur un serveur SFTP distant à l'aide d'hôte, de port, de nom d'utilisateur et de mot de passe codé à code dur. Cependant, il est important de noter que les informations d'identification du codage dur ne sont pas considérées comme la meilleure pratique et doivent être évitées chaque fois que possible.
Twisted est une autre option pour SFTP dans Python. Il s'agit d'une bibliothèque plus complexe mais offre une gamme plus large de fonctionnalités. Voici un exemple de la façon d'utiliser Twisted pour sftp:
from twisted.conch.ssh import userauth, connection, channel, sftp
password = "THEPASSWORD"
username = "THEUSERNAME"
transport = connection.SSHClientFactory().buildProtocol('localhost', None)
transport.requestService(userauth.SSHUserAuthClientPassword(username, password))
sftp = channel.SSHChannel(transport)
sftp.request_sftp()
import sys
path = './THETARGETDIRECTORY/' sys.argv[1]
localpath = sys.argv[1]
sftp.sendFile(localpath, path)
sftp.close()
transport.loseConnection()
print('Upload done.')
Paramiko et Twisted peuvent faciliter les connexions SFTP indépendantes de la plate-forme dans Python. Parciko est plus simple à utiliser, tandis que Twisted offre des fonctionnalités plus avancées. Le choix entre les deux dépend des exigences spécifiques du projet.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3