R nodes can't access internet through proxy

Hi team,

I've ran into an issue when trying to run any R code that connects to the internet (whether it be install.packages(), url(), etc...) when using my Knime version configured with a proxy (used by the company I work for).

The R code works both under Rstudio (using the same local R install) as well as when my machine is not connected to my company network.

It seems therefore that R nodes are ignoring the Knime configured proxy - have you run into this issue before or know how I can fix it?

Thanks,

Leon

Hi Leon,

It looks like you should be able to set the proxy settings in an R snippet manually as follows:
# To set the proxy.
Sys.setenv(http_proxy="http://user:password@proxy_server:port")
# To see what is set.
Sys.getenv( "http_proxy" )
 
http_proxy="http://user:password@proxy_server:port"
Can also be set in ~/.Renviron 
 
Thanks,
 
Jon

Jon,

many thanks for above.
We found also another way of dealing with this: In case the proxy settings are already available on the system level, using the following hint from the R documentation solves the issue as well:

(a) Use the Windows internet functions by starting R with the flag --internet2 (see How do I install R for Windows?) or calling setInternet2(TRUE) or setting the environment variable R_WIN_INTERNET2 to a non-empty value when starting R. These cause R to use the OS’s functions used by Internet Explorer, which may already be configured for use with proxies. Note that this does not work with proxies that need authentication.

Hi Jon,

We managed to find a workaround that avoids putting the password in plain text in the node configuration: by using 

setInternet2(TRUE)

in the R snippet that needs to connect to the internet, we make R use the system proxy settings where Windows is already correctly configured.

Thanks!

Leon