我一直在使用readLines()从R教程中的网站中获取信息.我现在希望从我自己的网站(特别是awstats数据)中提取数据,但该域名受密码保护.
有没有办法可以使用用户名和密码传递我需要的特定awstats数据的URL.
网址的格式是:
谢谢.
如果确实是http基本访问身份验证,则文档connections
提供了一些帮助:
网址
请注意,仅当使用--internet2或setInternet2(TRUE)(以使用Internet Explorer内部)时才支持https://连接,并且仅当证书被认为有效时才支持.仅使用该选项, 还接受需要身份验证的站点的http:// user:pass @ site表示法.
所以你的URL字符串应如下所示:
这可能只是Windows版本.
希望这可以帮助!
您可以在网址中嵌入用户名和密码,例如:
这可以尝试使用readLines()
.如果这不起作用,您可以尝试使用url()
打开连接的变通方法:
zz <- url("http://userid:passw@domain.name:port/...")
readLines(zz)
close(zz)
Run Code Online (Sandbox Code Playgroud)
您也可以下载该文件并使用它保存 download.file()
download.file("theurl","/path/to/file/filename",method="wget")
Run Code Online (Sandbox Code Playgroud)
这会将文件保存在指定的本地路径上.
编辑:
正如csgillespie所说,你不应该在脚本中包含你的用户名和密码.如果您使用source()或交互式运行脚本,您可以添加例如:
user <- readline("Give the username : ")
passw <- readline("Give the password : ")
Url <- paste("http://",user,":",passw,"@domain.name...")
readLines(Url,...)
Run Code Online (Sandbox Code Playgroud)
从命令行运行时,您可以在--args之后传递参数并使用commandArgs
(参见?commandArgs
)访问它们