我正在尝试从需要凭据的FTP站点下载一些zip文件。我能够使用RCurl pacakge中的getURL函数从站点获取文件列表。这是我使用的代码(从旧的stackoverflow问题之一的答案)。
library(RCurl)
url<-"ftp://ftp.mysite.com/EOD/"
userpwd<-"name:password"
filenames <- getURL(url, userpwd = userpwd,
ftp.use.epsv = FALSE,dirlistonly = TRUE)
filenames<-strsplit(filenames, "\r\n")
我已经尝试了几个函数(downloadFile,download.file,getURL等)将这些文件下载到我的计算机上的本地目录中,但是,我一直收到以下错误 -
Error in download.file(url, destfile = pathnameT, mode = mode, quiet = !isVisible(verbose), :
cannot open URL 'ftp://ftp.mysite.com/EOD/testfile_txt.zip'
In addition: Warning message:
In download.file(url, destfile = pathnameT, mode = mode, quiet = !isVisible(verbose), :
InternetOpenUrl failed: 'The login request was denied
在阅读了这个错误之后,我尝试了两件事 - 1.在downloadFile函数中指定setInternet2(use = TRUE);和 2.在全局工具&gt;中取消选中“使用Internet Explorer库/代理进行HTTP”。 Pacakages。
如果有人可以帮我将这些压缩文件下载到使用R的本地目录,我将不胜感激。谢谢。
答案 0 :(得分:0)
有趣。我将参数ftp.use.epsv = FALSE
更改为ftp.use.epsv = TRUE
并正常工作。
另一个使响应更加有条理的变化:
来自filenames<-strsplit(filenames, "\r\n")
收件人:filenames<-strsplit(filenames, "\n")