Я использую рубиновую библиотеку Net ::FTP для подключения к FTP-серверу и загрузки файлов. Все работает хорошо, но теперь мне нужно использовать исходящий прокси-сервер, так как их брандмауэр вносит в белый список IP-адреса, и я использую Heroku для размещения сайта. Я пробую новый Proximo add -, который выглядит многообещающе, но я не могу заставить Net ::FTP использовать его.
Я вижу следующее в документации Net ::FTP:
connect(host, port = FTP_PORT)
Establishes an FTP connection to host, optionally overriding the default port. If the environment variable SOCKS_SERVER is set, sets up the connection through a SOCKS proxy. Raises an exception (typically Errno::ECONNREFUSED) if the connection cannot be established.
Но попытка установить эту переменную среды или настройку ENV['SOCKS_SERVER'] = proximo_url
тоже не работает. Кто-нибудь знает, как это правильно сделать? Это не обязательно должен быть SOCKS-прокси, подойдет и HTTP-прокси, но я не уверен, что библиотека Net ::FTP поддерживает это.
... после некоторых исследований...
Я обнаружил, что Net ::FTP ищет класс с именем SOCKSSocket
, для которого я нашел эти документы . Но не могу включить. include 'socket'
возвращает false, что, я уверен, означает, что он уже загружен.