[R] http proxies: setting and unsetting
matt.pettis at thomson.com
matt.pettis at thomson.com
Wed May 30 17:51:49 CEST 2007
Thanks... I'll check the documentation to see which file on Windows I
need to alter to issue one of those commands.
matt
-----Original Message-----
From: Prof Brian Ripley [mailto:ripley at stats.ox.ac.uk]
Sent: Wednesday, May 30, 2007 12:39 AM
To: Gabor Grothendieck
Cc: Pettis, Matthew (Thomson); r-help at stat.math.ethz.ch
Subject: Re: [R] http proxies: setting and unsetting
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