Я пытаюсь загрузить файлы с моего 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"
Не могли бы вы помочь мне определить какие-либо проблемы с кодом или дать какие-либо предложения по пакету / коду, чтобы попробовать?