在同一会话中关闭和打开代理

时间:2014-06-02 12:54:51

标签: r proxy cytoscape

环境:Windows 7,R 3.1.0

我们的公司代理阻止同一台机器上程序的进程间通信(例如R< - > Cytoscape)。如果我隐藏代理(例如,避免使用internet2库并删除Windows 7环境变量),然后启动R,通信工作正常。控制防火墙的人不愿意重写允许此流量通过的规则。

R中是否有任何简单的机制可以在同一会话内根据需要打开和关闭代理?例如,

  • 使用代理启动R,
  • 做一些更新,从KEGG
  • 获取一些数据
  • 启动Cytoscape
  • 关闭代理
  • 使用RCytoscape来驱动Cytoscape
  • 启用代理
  • 等等。

我将教一些生物学家使用它,所以它需要变得简单。他们对R不太满意。

1 个答案:

答案 0 :(得分:0)

从R版本3.2.0开始,setInternet2功能可以 设置互联网连接设置并在同一R会话中更改 。根据{{​​3}},这是通过将internet.dll与internet2.dll合并来实现的。从帮助页面(?setInternet2):

  

在R 3.2.0之前加载了一个新的DLL:现在这两个版本的函数都包含在'internet.dll'中。

因此,无需开始新会话即可进行切换。

setInternet2(TRUE)
setInternet2(NA) ## returns current value
## [1] TRUE

install.packages("zoo") ## Cause internet.dll to be loaded

setInternet2(FALSE) ## Would have thrown a warning message in R < 3.2.0
setInternet2(NA)
## [1] FALSE