Как загрузить файлы напрямую с FTP-сервера в R / RStudio? - PullRequest
0 голосов
/ 02 июля 2019

Я пытаюсь загрузить файлы с моего FTP-сервера непосредственно в мой сеанс R, но не смог сделать это так далеко, и все мои попытки были сделаны с помощью пакета RCurl или utils.

Мне удалось установить соединение с сервером, и я знаю, что, поскольку объект "filenames", содержащийся в приведенном ниже фрагменте кода, возвращает мне все папки / файлы в моем каталоге FTP.

library(RCurl)

### First try

userpwd <- "user"
url <- "ftp://xx.xx.xxx.xxx/"

fileNames <- getURL(url = url,
                    userpwd = userpwd,
                    ftp.use.epsv = FALSE,
                    dirlistonly = TRUE)

fileNames <- paste(url,
                   strsplit(fileNames, "\r*\n")[[1]],
                   sep = "")

con <- getCurlHandle(ftp.use.epsv = FALSE, userpwd = userpwd)
contents = sapply(fileNames[1],
                  function(x) try(getURL(x, curl = con)))

### Second try

getURL(paste(url,fileNames[[1]][1],sep=""), userpwd = userpwd)

### Third try

download.file(url = getURL(paste(url,fileNames[[1]][2],sep=""),
              userpwd = userpwd))

В моей первой попытке это сообщение, которое я получаю из сеанса R:

"Ошибка в curlPerform (curl = curl, .opts = opts, .encoding = .encoding): встроенный нуль в строку "

Второй возвращает мне это:

"Ошибка в функции (тип, msg, asError = TRUE): Сервер отказал вам в переходе на указанный каталог "

Третий возвращает мне это:

"Ошибка в функции (тип, сообщение, asError = TRUE): ответ RETR: 550"

Не могли бы вы помочь мне определить какие-либо проблемы с кодом или дать какие-либо предложения по пакету / коду, чтобы попробовать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...