1

环境:Windows 7,R 3.1.0

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

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

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

我将教一些生物学家使用它,所以它必须非常简单。他们对 R 的现状并不满意。

4

1 回答 1

0

从 R 版本 3.2.0 开始,该setInternet2功能可以设置互联网连接设置并在同一个 R 会话中更改它们。据NEWS报道,这是通过将 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
于 2015-04-20T06:36:53.797 回答