2013-04-18 103 views
3

我需要从sftp服务器下载文件并解析它们并将内容插入数据库。我目前使用rCurl如下使用R从安全FTP服务器下载文件

library(RCurl) 
url<-c("sftp://data.ftp.net/incomining.data.txt") 
x<-getURL(url, userpwd="<id>:<passwd>") 
writeLines(x, incoming.data.txt")) 

我也看了download.file和我没有看到在download.file SFTP sufpport。有没有人做过类似的工作?由于我会得到多个文件,我注意到rcurl有时会超时。我喜欢先从sftp服务器下载所有文件,然后再进行处理。有任何想法吗?

回答

2

这听起来像问题是“我如何避免在rcurl中超时?”

增加CURLOPT_CONNECTTIMEOUT的值。这实际上与Setting Curl's Timeout in PHP的问题相同。

编辑,从下面的评论:

x<-getURL(url, userpwd="<id>:<passwd>", connecttimeout=60) // 60 seconds, e.g. 
+0

你知道在哪里设置在R上的RCurl超时? – user1471980

+0

@ user1471980查看'curlOptions()' –

+0

60秒,http://www.omegahat.org/RCurl/philosophy.html建议追加** connecttimeout = 60 **,如下所示:'x <-getURL(url ,userpwd =“”,connecttimeout = 60)' –

相关问题