R的代理设置

当我在办公室里用互联网连接R时,我面临着问题。 可能是由于局域网设置。 我尝试了几乎所有可能的方式,我在网上遇到(见下文),但仍然徒劳无功。

  • 方法1:使用--internet2调用R

  • 方法2:通过设置~/Rgui.exe http_proxy=http:/999.99.99.99:8080/ http_proxy_user=ask调用R ~/Rgui.exe http_proxy=http:/999.99.99.99:8080/ http_proxy_user=ask

  • 方法3:设置Setinternet2=TRUE

  • 方法4:

     curl <- getCurlHandle() curlSetOpt(.opts = list(proxy = '999.99.99.99:8080'), curl = curl) Res <- getURL('http://www.cricinfo.com', curl = curl) 

在上述所有方法中,我可以直接从CRAN加载包,也可以使用download.file命令下载文件

但使用getURL(RCurl)readHTMLTable(XML)htmlTreeParse(XML)命令我无法提取Web数据。 我得到~<HEAD>\n<TITLE>Access Denied</TITLE>\n</HEAD>~错误。

如何在R中设置XML包的LAN代理设置?

在Mac OS上,我find了最好的解决scheme。 引用作者,两个简单的步骤是:

1)打开terminal并执行以下操作:

 export http_proxy=http://staff-proxy.ul.ie:8080 export HTTP_PROXY=http://staff-proxy.ul.ie:8080 

2)运行R并执行以下操作:

 Sys.setenv(http_proxy="http://staff-proxy.ul.ie:8080") 

仔细检查:

 Sys.getenv("http_proxy") 

我在大学代理后面,这个解决scheme完美地工作。 主要问题是在运行R之前在terminal中导出项目,大小写。

问题是你的curl选项 – RCurl包似乎并没有使用internet2.dll 。 您需要单独指定端口,并可能需要将您的用户login详细信息作为networking凭据,例如,

 opts <- list( proxy = "999.999.999.999", proxyusername = "mydomain\\myusername", proxypassword = "mypassword", proxyport = 8080 ) getURL("http://stackoverflow.com", .opts = opts) 

请记住在密码中转义任何反斜杠。 您可能还需要将URL包裹在curlEscape的调用中。

对于RStudio而言,你必须这样做:

首先,像往常一样打开RStudio,从顶部菜单中select:

工具全局 选项

取消选中: 使用HTTP的Internet Explorer库/代理

然后closuresRstudio,而且你必须:

  1. 在您的计算机中find文件(.Renviron),很可能您会在这里find它:C:\ Users \您的用户名\ Documents。 请注意,如果它不存在,您可以通过在RStudio中编写此命令来创build它:

     file.edit('~/.Renviron') 
  2. 将这两行添加到文件的首字母:

     options(internet.info = 0) http_proxy="http://user_id:password@your_proxy:your_port" 

就是这样.. ??

我在我的办公室有同样的问题,我解决了它在R快捷方式的目的地添加代理, 右键单击R图标,首选项,并在目标字段添加

 "C:\Program Files\R\your_R_version\bin\Rgui.exe" http_proxy=http://user_id:passwod@your_proxy:your_port/ 

一定要把你安装了R程序的目录放进去。 这对我行得通。 希望这个帮助。

在Windows 7上,我通过进入我的环境设置( 尝试此链接了解如何 )并添加用户variableshttp_proxyhttps_proxy以及我的代理详细信息来解决此问题。

这篇文章适用于* nix上的R代理问题。 你应该知道R有很多库/方法通过互联网获取数据。

对于“curl”,“libcurl”,“wget”等,只需执行以下操作:

  1. 打开一个terminal。 键入以下命令:

     sudo gedit /etc/R/Renviron.site 
  2. input以下行:

     http_proxy='http://username:password@abc.com:port/' https_proxy='https://username:password@xyz.com:port/' 

    用您的networking特定的这些设置replaceusernamepasswordabc.comxyz.comport

  3. 退出R并重新启动。

这应该通过'libcurl'和'curl'方法来解决你的问题。 但是,我没有用'httr'试过。 只有那个会话使用'httr'的方法如下:

 library(httr) set_config(use_proxy(url="abc.com",port=8080, username="username", password="password")) 

您需要在相关字段中replace特定于您的n / w的设置。

如果从桌面图标启动R,则可以将--internet标志添加到目标行(右键单击 – >属性),例如

 "C:\Program Files\R\R-2.8.1\bin\Rgui.exe" --internet2 

受到互联网上所有相关反应的启发,终于find了正确configurationR和Rstudio代理的解决scheme。 有几个步骤可以遵循,也许一些步骤是无用的,但组合的作品!

  1. 使用代理详细信息添加环境variableshttp_proxy和https_proxy。

    variables名称:http_proxyvariables值: https:// user_id:password @ your_proxy:your_port /

    variables名称:https_proxyvariables值:https:// user_id:password @ your_proxy:your_port

  2. 如果从桌面图标启动R,则可以将–internet标志添加到目标行(右键单击 – >属性)

    例如“C:\ Program Files \ R \ R-2.8.1 \ bin \ Rgui.exe”–internet2

  3. 对于RStudio而言,你必须这样做:

    首先,像往常一样打开RStudio,从顶部菜单中select:

    工具 – 全局选项 – 包

    取消选中:使用HTTP的Internet Explorer库/代理

  4. 在您的计算机中find文件(.Renviron),很可能您会在这里find它:C:\ Users \您的用户名\ Documents。 请注意:如果它不存在,您可以通过在R中写入此命令来创build它:

    file.edit( '〜/ .Renviron')

    然后将这六行添加到文件的首字母:

    选项(internet.info = 0)

    http_proxy = https:// user_id:password @ your_proxy:your_port

    http_proxy_user = user_id:密码

    https_proxy = https:// user_id:password0 @ your_proxy:your_port

    https_proxy_user = user_id:密码

    ftp_proxy = user_id:password @ your_proxy:your_port

  5. 重新启动R.在R中input以下命令以确保上述configuration正常工作:

    Sys.getenv( “HTTP_PROXY”)

    Sys.getenv( “http_proxy_user”)

    Sys.getenv( “https_proxy”)

    Sys.getenv( “https_proxy_user”)

    Sys.getenv( “ftp_proxy这两个”)

  6. 现在你可以使用下面的命令来安装你想要的软件包了:

    install.packages( “MLR”,方法= “libcurl的”)

    添加'method =“libcurl”'是非常重要的,否则它将不起作用。

Windows 10Windows 10 RStudio的一切最简单的方法:

打开Internet Explorer,selectInternet Options

在这里输入图像说明


打开编辑器的环境variables:

在这里输入图像说明


在表单中添加一个variablesHTTP_PROXY:

 HTTP_PROXY=http://username:password@localhost:port/ 

例:

 HTTP_PROXY=http://John:JohnPassword@localhost:8080/ 

在这里输入图像说明


RStudio应该工作:

在这里输入图像说明

尝试所有这些以及使用netsh,winhttp等解决scheme。Geek On Acid的答案帮助我从服务器上下载软件包,但这些解决scheme都不能用于使用我想运行的软件包(twitteR软件包)。

最好的解决scheme是使用一个让您configuration系统级代理的软件。

FreeCap (免费)和Proxifier (试用)在我的公司为我完美工作。

请注意,您需要从您的浏览器和任何其他已configuration为使用代理的应用程序中删除代理设置,因为这些工具为您的计算机上的所有networking通信提供了系统范围的代理。

我在Windows 7(32位)上的解决scheme。 R版本3.0.2

Sys.setenv(http_proxy =“http:// proxy。_add_your_proxy_here_ :8080”)

setInternt2

更新器(2)