RCurl може надсилати FTP через HTTP-тунель
Використовуйте httpproxytunnel, коли проксі має передавати протокол FTP, а не отримувати HTTP GET з FTP-адресою.
У libcurl є два різні способи використовувати HTTP-проксі для FTP-адреси. Без тунелю він може надіслати HTTP GET, метою якого є FTP-адреса, і попросити проксі виступити в ролі FTP-шлюзу.
Коли служба натомість очікує тунель HTTP CONNECT, увімкніть відповідну опцію RCurl:
result <- RCurl::getURL(
"ftp://ftp.example.net/pub/file.txt",
.opts = list(
proxy = "http://proxy.example.net:8080",
httpproxytunnel = TRUE
)
)
Проксі має дозволяти з'єднання до потрібних портів FTP-сервера. Служба, обмежена CONNECT на порту 443, може відхилити керівне з'єднання FTP, навіть коли звичайний перегляд HTTPS працює.
FTP також використовує окреме з'єднання даних для списку або передавання. Успішний вхід у керівний канал не доводить, що узгоджене призначення даних дозволене через посередника.
Цей режим передає протокол FTP через тунель; він не робить звичайний FTP зашифрованим. Коли потрібна конфіденційність, використовуйте безпечний протокол, який підтримує файловий сервер, і відповідну збірку libcurl. Доступні протоколи RCurl залежать від бібліотеки libcurl, яку він використовує.