5

我需要身份验证才能使用互联网,说这些是我的变量:

  1. 代理:1ncproxy1
  2. 端口:80
  3. 登录:MyLogiN
  4. 通行证:MyPaSs

如何在 R 及其插件包中安装包? 这样以下将起作用:

install.packages("TSA", dependencies=TRUE)

如果我们没有互联网连接失败?

我试过这个:

Sys.setenv("ftp_proxy" = "1ncproxy1","ftp_proxy_user"="MyLoGiN","ftp_proxy_password"="MyPaSs")#Port = 80

但我得到:

Warning: unable to access index for repository http://cran.ma.imperial.ac.uk/src/contrib
# or 
cannot open: HTTP status was '407 Proxy Authentication Required'

非常感谢,

4

5 回答 5

3

您可能使用的是 Windows,所以我建议您查看安装随附的“R on Windows FAQ”,特别是问题 2.19:Internet 下载功能失败。您可能需要使用--internet2选项 (IIRC) 重新启动 R 才能使代理设置生效。

我一直觉得这很麻烦。另一种方法是安装代理感知网络下载器,例如wget(作为 Windows 二进制文件),您可以在主目录的文件中设置代理选项。这一切都来自记忆,我想我上一次遇到这样的代理是在 2005 年所以 YMMV。

于 2013-01-25T15:16:20.923 回答
2

+1 朱巴,上面。这对我有用:

$ export http_proxy=http://username:password@the-proxy.mycompany.com:80
$ R
> install.packages("quantmod")
于 2014-06-05T19:01:53.930 回答
1

正如@juba 所说,我认为您想设置 http_proxy。来自?download.file

可以通过环境变量 http_proxy_user 以 user:passwd 的形式为 HTTP 代理传输设置用户名和密码。或者,http_proxy 可以是“http://user:pass@proxy.dom.com:8080/”的形式

所以,试试:Sys.setenv(http_proxy="http://MyLoGiN:MyPaSs@1ncproxy1:80")

但请注意:

这些环境变量必须在第一次使用下载代码之前设置:以后不能通过调用 Sys.setenv 来更改它们。

所以你最好在你的.Rprofile

于 2013-01-25T15:41:50.173 回答
1

正如 Jeff Taylor 所写,R 可以间接使用代理服务器。您需要为 http 和 https 协议指定代理服务器,如下所示:

$ export http_proxy=http://user:pass@proxy_server:port
$ export https_proxy=http://user:pass@proxy_server:port
$ R
> install.packages("<package_name>")

我刚刚测试了这个解决方案,它就像一个魅力。Jeff 的回答是正确的,但不幸的是,在大多数情况下是不完整的,因为现在大多数服务器都可以通过 https 访问。

于 2019-07-26T09:55:30.243 回答
1

我尝试安装 swirl 包,但遇到了同样的问题 - 授权代理。

经过一些实验,我找到了决定。可能是我的回答对任何人都有帮助。在 Windows 7 上:

  1. 设置 1 个或多个(如果需要)env 变量 http_proxy(如果需要,可以设置 https_proxy 和 ftp_proxy)(如果你不t know how - read there http://www.computerhope.com/issues/ch000549.htm ) It喜欢 代理的 env 变量

  2. 格式 http_proxy="http://Proxyusername:ProxyUserPassw@proxyServName:ProxyPort"

  3. 使用“ @ ”而不是 %40

  4. 在 RStudio Tools->Global Options->Packages release 复选框“使用 Internet Explorer library /proxy for HTTP”

于 2016-07-25T13:38:02.237 回答