I am facing problem while conecting R with internet in my office. May be this due to LAN settings. I tried the almost all possible ways I come across in the web (see below) but still in vain.
Method1: Invoking R using
--internet2
Method2: Invoking R by setting
~/Rgui.exe http_proxy=http:/999.99.99.99:8080/ http_proxy_user=ask
Method3: Setting
Setinternet2=TRUE
Method4:
curl <- getCurlHandle() curlSetOpt(.opts = list(proxy = '999.99.99.99:8080'), curl = curl) Res <- getURL('http://www.cricinfo.com', curl = curl)
In above all methods I can able to load packages directly from CRAN also able to download files using download.file command
But using getURL(RCurl)
, readHTMLTable(XML)
, htmlTreeParse(XML)
commands I am unable to extract web data. I am getting ~<HEAD>\n<TITLE>Access Denied</TITLE>\n</HEAD>~
error.
How to set LAN proxy settings for XML package in R?
Inspired by all the responses related on the internet, finally I've found the solution to correctly configure the Proxy for R and Rstudio.
There are several steps to follow, perhaps some of the steps are useless, but the combination works!
Add environment variables
http_proxy
andhttps_proxy
with proxy details.If you start R from a desktop icon, you can add the
--internet
flag to the target line (right click -> Properties)e.g.
"C:\Program Files\R\R-2.8.1\bin\Rgui.exe" --internet2
For RStudio just you have to do this:
Firstly, open RStudio like always, select from the top menu:
Tools-Global Options-Packages
Uncheck the option: Use Internet Explorer library/proxy for HTTP
Find the file (
.Renviron
) in your computer, most probably you would find it here:C:\Users\your user name\Documents
.Note that: if it does not exist you can create it just by writing this command in R:
Then add these six lines to the initials of the file:
Restart R. Type the following commands in R to assure that the configuration above works well:
Now you can install the packages as you want by using the command like:
It's important to add
method="libcurl"
, otherwise it won't work.Simplest way to get everything working in RStudio under
Windows 10
:Open up Internet Explorer, select
Internet Options
:Open editor for Environment variables:
Add a variable HTTP_PROXY in form:
Example:
RStudio should work:
Tried all of these and also the solutions using netsh, winhttp etc. Geek On Acid's answer helped me download packages from the server but none of these solutions worked for using the package I wanted to run (twitteR package).
The best solution is to use a software that let's you configure system-wide proxy.
FreeCap (free) and Proxifier (trial) worked perfectly for me at my company.
Please note that you need to remove proxy settings from your browser and any other apps that you have configured to use proxy as these tools provide system-wide proxy for all network traffic from your computer.
This post pertains to R proxy issues on *nix. You should know that R has many libraries/methods to fetch data over internet.
For 'curl', 'libcurl', 'wget' etc, just do the following:
Open a terminal. Type the following command:
Enter the following lines:
Replace
username
,password
,abc.com
,xyz.com
andport
with these settings specific to your network.Quit R and launch again.
This should solve your problem with 'libcurl' and 'curl' method. However, I have not tried it with 'httr'. One way to do that with 'httr' only for that session is as follows:
You need to substitute settings specific to your n/w in relevant fields.
If you start R from a desktop icon, you can add the
--internet
flag to the target line (right click -> Properties) e.g.