如何告诉R解释器如何使用代理服务器?
我试图让R(在Windows上运行)从Internet下载一些软件包,但下载失败,因为我无法让它正确使用必要的代理服务器。尝试Windows菜单选项“软件包”时的输出文本是:如何告诉R解释器如何使用代理服务器?,r,proxy,R,Proxy,我试图让R(在Windows上运行)从Internet下载一些软件包,但下载失败,因为我无法让它正确使用必要的代理服务器。尝试Windows菜单选项“软件包”时的输出文本是: >utils:::menuInstallPkgs() ——请选择一个用于此会话的CRAN镜像--- 警告:无法访问存储库的索引http://cran.opensourceresources.org/bin/windows/contrib/2.12 警告:无法访问存储库的索引http://www.stats.ox.ac.uk
>utils:::menuInstallPkgs()
——请选择一个用于此会话的CRAN镜像---
警告:无法访问存储库的索引http://cran.opensourceresources.org/bin/windows/contrib/2.12
警告:无法访问存储库的索引http://www.stats.ox.ac.uk/pub/RWin/bin/windows/contrib/2.12
install.packages(NULL,.libpath()[1L],dependencies=NA,type=type)中出现错误:
未指定任何包
此外:警告消息:
打开。连接(con,“r”):
无法打开:HTTP状态为“需要407代理身份验证”
我知道代理的地址和端口,也知道自动配置脚本的地址。我不知道身份验证被称为什么,但当使用代理(在浏览器和其他一些应用程序中)时,我会在弹出的对话框窗口中输入用户名和密码
要设置代理,我尝试了以下各项:
Sys.setenv(http\u proxy=”http://proxy.example.com:8080“”
Sys.setenv(“http_proxy”=”http://proxy.example.com:8080“”
Sys.setenv(HTTP\u PROXY=”http://proxy.example.com:8080“”
Sys.setenv(“HTTP_PROXY”=”http://proxy.example.com:8080“”
http\u proxy\u user
环境变量设置为:
ask
用户:passwd
- 保持原样
编辑:一个技巧是,在会话中尝试后,您不能在1和2之间改变主意,即,如果您运行命令setInternet2(TRUE)并尝试使用它,例如install.packages('reforme2'),如果失败,则不能调用setInternet2(FALSE)。您必须重新启动R会话 从R版本3.2.0开始,使用
setInternet2
功能可以设置internet连接设置,并在同一R会话中更改这些设置。不需要重新启动
当使用选项2时,指定用户名和密码的一种方法(非常简洁)是http_proxy=”http://user:password@proxy.example.com:8080/“
在过去,我最幸运的选择是选项2如果您希望每次使用R时都使用internet2,您可以将以下行添加到R.x.x\etc\R profile.site中的Rprofile.site文件中
utils::setInternet2(TRUE)
安装程序包(“RCurl”)
那会解决你的问题。看起来不错。您是否也尝试过用--internet2选项启动R(我想是在Windows上?)@Dirk E:是的;我检查并发现运行R的开始菜单快捷方式设置为使用
--internet2
选项。(是的,它是在Windows上;我现在编辑了这个问题以澄清这一点。)好的,很好,您还可以尝试设置env的key=value对。文件Renviron
中的变量,甚至是整个安装范围的Renviron.site
——请参阅帮助(启动)
@Dirk E:当我尝试将其放入Renviron.site
时出现相同错误HTTP\u PROXY
和HTTP\u PROXY\u用户
正在被Renviron.site
文件填充。我无法让选项1起作用,但选项2起作用。谢谢