我正在尝试从SFTP站点下载.gz文件。其他答案还向我展示了如何登录SFTP站点,列出可用文件以及读取二进制格式的文件。问题是我不知道如何将文件另存为.gz。
下面的代码成功创建了SFTP站点上所有文件的向量。
library(tidyverse)
library(RCurl)
protocol <- "sftp"
server <- "files.company.com/pickup/"
userpwd <- "username:password"
filenames <-
getURL(
paste0(protocol, "://", server),
ftp.use.epsv = FALSE,
dirlistonly = TRUE,
userpwd = userpwd
) %>%
strsplit(split = "\n") %>%
unlist()
这是我尝试读取基于this answer的.gz文件之一。
file_name <- filenames[1]
gz <- getBinaryURL(url = paste0(protocol, "://", server, file_name), userpwd = userpwd)
然后我将文件保存到磁盘。保存了几兆字节,但是当我尝试将其解压缩时,出现错误消息,提示这不是在保存.gz文件。
file_name <- filenames[1]
gz <- getBinaryURL(url = paste0(protocol, "://", server, file_name), userpwd = userpwd)
有什么想法吗?有几个答案是针对FTP或受密码保护的HTTP站点的,但是这些答案都不适合我。