Platform-независимый SFTP с Python
безопасная передача файла (SFTP) необходим для безопасного обмена данными, но поиск библиотеки Python, которые поддерживают, это может быть вызовом. Когда учетные данные пользователя и удаленные местоположения пользователя не являются вариантом, изучение альтернативных решений имеет решающее значение.
Paramiko-популярная библиотека Python для SFTP. Его синтаксис относительно прост, как показано ниже:
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.')
Этот код загружает файл на удаленный сервер SFTP с использованием твердого кодированного хоста, порта, имени пользователя и пароля. Тем не менее, важно отметить, что усердно кодирующие учетные данные не считаются передовой практикой, и их следует избегать, когда это возможно. Это более сложная библиотека, но предлагает более широкий спектр функций. Вот пример того, как использовать Twisted для SFTP:
из Twisted.conch.ssh import userauth, connection, channel, sftp пароль = "ThePassword" username = "theusername" Transport = connection.sshclientFactory (). BuildProtoCol ('LocalHost', нет) transport.requestservice (userauth.sshuserauthclientpassword (имя пользователя, пароль)) sftp = channel.sshchannel (транспорт) sftp.request_sftp () Импорт Sys path = './theargetDirectory/' sys.argv [1] localpath = sys.argv [1] sftp.sendfile (localpath, path) sftp.close () Transport.loseConnection () print ('upload выполнен. Paramiko проще в использовании, в то время как Twisted предлагает более продвинутые функции. Выбор между ними зависит от конкретных требований проекта.
]
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3