使用RCurl::getURL()从安全FTP获取数据

使用RCurl::getURL()从安全FTP获取数据,r,curl,ftp,ftps,R,Curl,Ftp,Ftps,我的组织设置了一个FTP服务器,该服务器保存需要为闪亮的应用程序读取的数据。我能够通过以下方式成功连接并获取终端中的写入文件: curl--ftp-ssl-ftp://:--user:“-o Wellness\quantial\and\Isolation.csv 然而,考虑到它是FTPS而不是FTP,我最难用RCurl包将这个读入R。当我尝试时,我能够进入,但随后遇到530错误,因为SSL握手失败: library(RCurl) opts <- curlOptions( dirlis

我的组织设置了一个FTP服务器,该服务器保存需要为闪亮的应用程序读取的数据。我能够通过以下方式成功连接并获取终端中的写入文件:

curl--ftp-ssl-ftp://:--user:“-o Wellness\quantial\and\Isolation.csv

然而,考虑到它是FTPS而不是FTP,我最难用RCurl包将这个读入R。当我尝试时,我能够进入,但随后遇到530错误,因为SSL握手失败:

library(RCurl)

opts <- curlOptions(
  dirlistonly = TRUE,
  sslversion = 6L,
  verbose = TRUE,
  ftp.use.epsv = FALSE,
  ssl.verifypeer=TRUE
  
)

x <- getURL("ftp://<HOSTNAME>:<PORT_NUM>", userpwd = "<MY_USER>:<MY_PW>",
            .opts = opts)

经过更多的浏览和挠头,这工作
(只需将
ftp.ssl=TRUE
添加到getURL()

库(RCurl)
#输入#
协议
#using curl package - better maintained
library(curl)
h <- curl::new_handle(ftp_use_epsv=FALSE, dirlistonly=TRUE, crlf=TRUE,
                      ssl_verifypeer=FALSE, ftp_response_timeout=30)
curl::handle_setopt(h, userpwd = "<MY_USER>:<MY_PW>", use_ssl = 3)

tmp <- tempfile()
curl::curl_download("ftp://<HOSTNAME>:<PORT_NUM>",handle = h, tmp)

readLines(tmp)
library (RCurl)

# Input #
protocol <- "ftp"
server <- "<HOSTNAME>:<PORT_NAME>"
userpwd <- "<MY_USER>:<MY_PW>"
tsfrFilename <- "/Wellness\ Quarantine\ and\ Isolation.csv" #you can transfer other kinds, like text, as well.

# Run #
## Download Data
url <- paste0(protocol, "://", server, tsfrFilename)
data <- getURL(url = url, userpwd=userpwd, ftp.ssl = TRUE)


## read File to csv
quar_iso <- readr::read_csv(data)