使用RCurl访问FTPS

Ang*_*elo 6 r ftps rcurl

我有一个FTPS服务器,我已经可以使用Filezilla和Syncback等客户端.我也有这个FTPS服务器的管理员访问权限,我知道它与TLS一起工作正常,因为我在Filezilla连接日志中看到了"TLS".

但是,我无法使用RCurl库(R版本= 3.4.3,RCurl版本= 1.95-4.9,Windows 7 PC)从R访问此相同的FTPS服务器.我希望它与我的getURL()调用有关.这是当我尝试列出FTPS服务器上的目录中的文件时发生的情况:

library(RCurl)
url       <- "FTPS://<myIpaddress>/<path>/"
userpwd   <- "myname:mypasswd"
filenames <- getURL(url, userpwd=userpwd, ftp.use.epsv = FALSE, dirlistonly = TRUE, .opts=curlOptions(verbose=TRUE))
Run Code Online (Sandbox Code Playgroud)

第一次尝试:端口990上的连接被拒绝

它抱怨端口990上的连接被拒绝(可能是FTPS的默认端口?).我碰巧将FTPS服务器设置为使用端口21. Filezilla不需要端口号,所以我也把它留在了这里.但是,明确指定端口21会带来另一个问题......

url <- "FTPS://<myIpaddress>:21/<path>/"
Run Code Online (Sandbox Code Playgroud)

第二次尝试:未知协议

这次投诉是关于"未知协议".不明白.我正在使用侦听端口21的FTPS服务器,我在URL上指定了相同的内容.可能有什么不对?

任何人都可以推荐一些方法来进一步解决这个问题吗?

为了完整性,这里是FTPS服务器配置(它是一个synology diskstation NAS)... 在此输入图像描述

pat*_*net 0

添加ftp.ssl = TRUEgetURLSFTP 的选项。

这相当于--ftp-ssl实际的卷曲。