У 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, яку він використовує.

Схожі статті