Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何告诉R解释器如何使用代理服务器?_R_Proxy - Fatal编程技术网

如何告诉R解释器如何使用代理服务器?

如何告诉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

我试图让R(在Windows上运行)从Internet下载一些软件包,但下载失败,因为我无法让它正确使用必要的代理服务器。尝试Windows菜单选项“软件包”时的输出文本是:

>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
  • 保持原样
我是否以正确的方式使用了正确的命令?

您有两个选项:

  • 使用--internet2或setInternet2(TRUE)并在控制面板的“Internet选项”中设置代理详细信息
  • 不要使用--internet2或setInternet2(FALSE),而是指定环境变量

  • 编辑:一个技巧是,在会话中尝试后,您不能在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起作用。谢谢