我从密码保护的ftp下载文件。在家里它可以工作,但不是在我需要它的Uni,因为我使用那台计算机来运行预定的任务 代码示例如下(不使用实名):
require("RCurl")
url_fore<- "ftp://xx.ftp./MET/"
local_fore <- "./data/ECMWF/"
file_fore <- try(getURL(url_fore, userpwd = userpwd,dirlistonly = TRUE, crlf=TRUE ))
file_fore <- unlist(str_extract_all(file_fore, ".+(.csv)"))
我得到了列表,但在尝试下载本地不存在的文件时出现错误 我在网上找到了一个示例函数,并根据我的情况进行了调整。
require("threadr")
downloadCSV <- function(filename, folder, baseurl) {
fileurl <- paste0(baseurl, filename)
if (!file.exists(str_c(folder, "/", filename))) {
download_ftp_file(fileurl,
paste0(folder, "/", filename),
credentials = userpwd)
Sys.sleep(1)
}
}
lapply(file_fore, function (x) downloadCSV(x, local_fore,url_fore))
Error in download.file(url, file_local, quiet = !verbose) :
cannot open URL 'ftp://xx.ftp.mu.ie/MET/FORECAST/some_file.csv' In addition: Warning message:
In download.file(url, file_local, quiet = !verbose) :
InternetOpenUrl failed: 'The login request was denied`
我试过this,第一个解决方案没有帮助,我不知道如何尝试第二个,因为该函数已经折旧。与我here相同的问题没有得到任何答案。
谢谢...