[R] http proxies: setting and unsetting

Prof Brian Ripley ripley at stats.ox.ac.uk
Wed May 30 07:38:44 CEST 2007


That was misleading advice.  R is a C program and accesses the environment 
via the C calls getenv and (on Windows) putenv.  This is not Windows 
scripting (Grothendieck's earlier reference): the C runtime maintains only 
one environment block.

I've re-checked, and suspect the problem is in the following comment in
?download.file

      These environment variables must be set before the download code
      is first used: they cannot be altered later by calling
      'Sys.setenv'.

If I have http_proxy set in the environment, the proxy is not used in any 
of the following cases:

- Calling R from a shortcut with http_proxy="" on the target (see the 
rw-FAQ).

- Calling R from a shortcut with no_proxy="*" on the target.

- Using Sys.unsetenv("http_proxy") right at the start of the R session.

- Using Sys.setenv(no_proxy="*") right at the start of the R session.

If you set options(internet.info=0) you will see exactly what is tried.

Another possibility is that R is being used with --internet2, in which 
case none of this applies, and the simple answer is not to use --internet2 
at home.



On Tue, 29 May 2007, Gabor Grothendieck wrote:

> You can have 4 different http_proxy environment variables and if you
> set one type but try to unset a different type then that will have no
> effect on the one you originally set.  For example, if you originally
> set it as a system or user environment variable and then try to
> unset the process environment variable of the same name then
> that will have no effect on the system or user environment variable.
>
> On 5/29/07, matt.pettis at thomson.com <matt.pettis at thomson.com> wrote:
>> Hi Gabor,
>>
>> Thanks for the reply and link.
>>
>> I took a look at the link -- one thing I don't understand is why if I delete the 'http_proxy' variable via the cmd shell (or equivalent OS dialog box), why I can get R to ignore the proxy, but using Sys.setenv("http_proxy"="") won't do that for me (at least for the scope of the session).  If there were other variables affecting it, I would think my deleting 'http_proxy' in the OS would also have no effect -- yet it does.
>>
>> Any ideas?
>>
>> Thanks again,
>> Matt
>>
>>
>> -----Original Message-----
>> From: Gabor Grothendieck [mailto:ggrothendieck at gmail.com]
>> Sent: Tue 5/29/2007 9:49 PM
>> To: Pettis, Matthew (Thomson)
>> Cc: r-help at stat.math.ethz.ch
>> Subject: Re: [R] http proxies: setting and unsetting
>>
>> Note that Windows XP has 4 types of environment variables and I suspect
>> that the problem stems from not taking that into account:
>>
>> http://www.microsoft.com/technet/scriptcenter/guide/sas_wsh_kmmj.mspx?mfr=true
>>
>> On 5/29/07, matt.pettis at thomson.com <matt.pettis at thomson.com> wrote:
>>> Hi,
>>>
>>> I am trying to use R at work and at home on the same computer.  At work, I have a proxy, and at home, I do not.  I have, for work, a User environment variable "http_proxy" which I set in the OS (Windows XP Pro).  When I am at work, and I try to retrieve data from the web with 'read.csv', things work just fine.  I assume it knows how to use the proxy.
>>>
>>> The trouble is when I am at home and have no proxy, R still tries to use my work proxy.  I have tried the following:
>>>
>>> Sys.setenv("http_proxy"="")
>>> Sys.setenv("no_proxy"=TRUE)
>>> Sys.setenv("no_proxy"=1)
>>>
>>> none of which seems to work.  Whenever I try to use read.csv, it tells me that it cannot find my work proxy, which I am trying to tell R to ignore.
>>>
>>> I can solve this problem by removing the http_proxy environment variable binding in the OS when at home, but that is a pain, because then I have to reset it when I go back into work.
>>>
>>> Is there a way to tell R within a session to ignore the proxy?  If so, what am I doing wrong?
>>>
>>> thanks,
>>> matt
>>>
>>> ______________________________________________
>>> R-help at stat.math.ethz.ch mailing list
>>> https://stat.ethz.ch/mailman/listinfo/r-help
>>> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
>>> and provide commented, minimal, self-contained, reproducible code.
>>>
>>
>>
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>

-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595



More information about the R-help mailing list