Quoth Scott Bennett <[email protected]>, on 2009-06-03 08:17:10 -0500, providing neither a References nor an In-Reply-To header: > On Wed, 03 Jun 2009 09:01:09 -0400 Sambuddho Chakravarty > <[email protected]> top-posted (grrr...): > >I am using :- > > > > http_proxy=http://localhost:8118 > > > Well, you probably need to fix that first. Both ftp_proxy and > http_proxy are supposed to be set to the *proxy*, not to a URL. (See > fetch(3) for more information.)
I believe that this idea does not reflect current practice, at least on GNU/Linux systems, and that Sambuddho's usage is correct for Bourne shell, modulo a possibly-missing "export" command. (Not that current practice is particularly well-defined in this case.) >From the GNU Wget 1.11.4 manual, node "Proxies", at http://www.gnu.org/software/wget/manual/html_node/Proxies.html: | http_proxy | https_proxy | If set, the http_proxy and https_proxy variables should contain | the URLs of the proxies for HTTP and HTTPS connections | respectively. >From curl(1), from curl 7.19.5: | http_proxy [protocol://]<host>[:port] | Sets the proxy server to use for HTTP. >From lftp(1), from LFTP 3.7.13: | http:proxy (URL) | specifies http proxy. It is used when lftp works over http | protocol. Default value is taken from environment variable | http_proxy. If your proxy requires authentication, specify user | name and password in the URL. >From lynx(1), from Lynx 2.8.7pre4: | PROTOCOL_proxy | Lynx supports the use of proxy servers that can act as firewall | gateways and caching servers. They are preferable to the older | gateway servers (see WWW_access_GATEWAY, below). Each protocol | used by Lynx, (http, ftp, gopher, etc), can be mapped separately | by setting environment variables of the form PROTOCOL_proxy | (literally: http_proxy, ftp_proxy, gopher_proxy, etc), to | "http://some.server.dom:port/". See Lynx Users Guide for | additional details and examples. >From perldoc for LWP::UserAgent, from libwww-perl 5.826: | $ua->env_proxy | Load proxy settings from *_proxy environment variables. You | might specify proxies like this (sh-syntax): | | gopher_proxy=http://proxy.my.place/ | wais_proxy=http://proxy.my.place/ | no_proxy="localhost,my.domain" | export gopher_proxy wais_proxy no_proxy (This doesn't reference http_proxy specifically, but I interpret it to mean that all *_proxy environment variables (except no_proxy) use URLs, which is consistent with the rest of the page.) I can't find a copy of the aforementioned fetch(3) page anywhere on the Web or on any system to which I have access. Much of this software is common on other Unix-like systems, and to my knowledge their environment variable semantics are not changed there. The consensus for users appears to be that you should set *_proxy variables to URLs with the scheme and host component required and the port and authentication components optional. The consensus for programs appears to be that you should accept *_proxy variables in either URL format or in raw host[:port] format with the equivalent URL scheme defaulting to that for the protocol for which the variable is set. ---> Drake Wilson

