Ответ 1
Как насчет использования Net::FTPTLS
?
У меня есть FTP-сервер, который принимает соединения только через FTPS (явный FTP через TLS). Мне нужно подключиться к этому с помощью приложения Ruby on Rails.
Кто-нибудь знает, как это сделать? Я пробовал библиотеку Net::FTP
, но это, похоже, не поддерживает соединения FTPS.
Как насчет использования Net::FTPTLS
?
Я сделал что-то вроде этого с Implicit/Explicit FTPS, я использовал драгоценный камень с двойной сумкой-ftps, который я исправил, чтобы поддерживать повторное использование сеанса ssl. Это требование для большого количества серверов ftps.
Я помещаю код в github здесь: https://github.com/alain75007/double-bag-ftps
EDIT: Я выяснил, как заставить его работать локально, но у меня возникают проблемы с его работой на Heroku. Это немного отходит от этого вопроса, поэтому я создал новый:
Heroku с FTPTLS - Ошибка при подключении SSL
require 'net/ftptls'
ftp = Net::FTPTLS.new()
ftp.passive = true
#make sure you define port_number
ftp.connect('host.com', port_number)
ftp.login('Username', 'Password')
ftp.gettextfile('filename.ext', 'where/to/save/file.ext')
ftp.close
Если вы хотите использовать Implicit FTPS, попробуйте этот смысл.
Для явных FTP-адресов вы можете использовать рубиновый камень ftpfxp
.
Я реализовал решение ftps, используя double-bag-ftps