r - 通过 RCurl 从 ftp 下载压缩文件

标签 r

我在从 ftp 服务器下载压缩文件时遇到问题。但是现在我已经解决了这个问题,因为我还没有在这里找到任何解决我的问题的方法,所以我正在分享我的方法。
首先我尝试了

 download.file()

但是有一个问题,我的密码以“@”结尾。这就是 URL 中包含 submittign 用户和密码的解决方案不起作用的原因。双 @ 显然让 R 感到困惑。
url <- ftp://user:password@@url

您将在下面找到解决方案。
也许有人有一些改进。

也许对某人有用,
弗洛里安

最佳答案

这是我的解决方案:

library(RCurl)

url<- "ftp://adress/"
filenames <- getURL(url, userpwd="USER:PASSWORD", ftp.use.epsv = FALSE, dirlistonly = TRUE) #reading filenames from ftp-server
destnames <- filenames <-  strsplit(filenames, "\r*\n")[[1]] # destfiles = origin file names
con <-  getCurlHandle( ftp.use.epsv = FALSE, userpwd="USER:PASSWORD")
mapply(function(x,y) writeBin(getBinaryURL(x, curl = con, dirlistonly = FALSE), y), x = filenames, y = paste("C:\\temp\\",destnames, sep = "")) #writing all zipped files in one directory

希望对任何人都有用!
问候,
弗洛里安

关于r - 通过 RCurl 从 ftp 下载压缩文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22411833/

相关文章:

r - 安装Spark 1.4自带的SparkR

regex - .*\\的目的是什么?

r - 根据先前的结果并行化 for 循环

c - R语言源码——C代码中的 `NOMORE_FOR_THREADS`是什么

R:如何选择目录中同时满足名称开头和结尾条件的文件?

R - 使用 dplyr mutate 和 if_else 期望单个值时出错

r - apply() 并计算所有数据帧行的第一行的比例

r - 将向量的值限制在 R 中的极限

python - 在 R 笔记本中使用 Python

r - 如何将表达式的变量传递给curve()作为方程式?