在R中的getURL函数中隐藏密码

时间:2019-06-04 09:10:39

标签: r server ftp privacy geturl

我一直在使用R函数getURL()从远程FTP服务器在RStudio上加载数据。但是,这需要在脚本中显示我的用户名和密码。

require("RCurl")
getURL("ftp://directory/filename.txt", userpwd="user:pwd")

是否可以隐藏此信息?

2 个答案:

答案 0 :(得分:0)

这是一个猜测,因为我不熟悉R,但是执行此操作的正常方法(使用任何语言)是通过外部变量设置的环境变量传递用户名和密码,例如作为.env文件,该文件未检入源存储库,或者从VM虚拟机管理程序处理的设置(如果有)传入。这样,您的凭据就永远不会打入您的仓库,也不会直接出现在源代码中。如果要在不同的上下文(例如本地,测试,阶段,生产等)中运行代码,这也很方便。

This answer看起来像是有关如何在R中执行此操作的合理描述。

答案 1 :(得分:0)

您可以使用Keyring软件包。

library(keyring)
key_set(service = "curl_page", 
                 username = "joe")

然后在要求时输入密码。然后您可以使用以下方法检索它:

require("RCurl")
getURL("ftp://directory/filename.txt", userpwd=key_get("curl_page",username = "joe"))