我有一个FTPS服务器,我已经可以使用像Filezilla和Syncback这样的客户端了。我还拥有对此FTPS服务器的管理员访问权限,并且我知道它可以与TLS正常工作,因为我在Filezilla连接日志中看到了"TLS“。
但是,我不能使用RCurl库(R version=3.4.3,RCurl version = 1.95-4.9,Windows7PC)从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))

它会报告端口990 (可能是FTPS的默认端口?)上的连接被拒绝。我碰巧将FTPS服务器设置为使用端口21。Filezilla不需要端口号,所以我也把它留在了这里。然而,显式指定端口21会带来另一个问题……
url <- "FTPS://<myIpaddress>:21/<path>/"

这一次的抱怨是关于“未知协议”。我不明白。我正在使用FTPS服务器侦听端口21,我在URL上指定了相同的端口。会出什么问题呢?
有没有人能推荐一些进一步解决这个问题的方法?
为了完整起见,这里是FTPS服务器配置(它是一个synology diskstation NAS)...

发布于 2021-09-22 02:25:13
将ftp.ssl = TRUE添加到SFTP的getURL选项。
这相当于实际卷曲中的--ftp-ssl。
https://stackoverflow.com/questions/48025572
复制相似问题