我一直在使用R函数getURL()从远程FTP服务器在RStudio上加载数据。但是,这需要在脚本中显示我的用户名和密码。
require("RCurl")
getURL("ftp://directory/filename.txt", userpwd="user:pwd")
是否可以隐藏此信息?
答案 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"))