未经身份验证的 http 代理,wget 失败,curl 有效

未经身份验证的 http 代理,wget 失败,curl 有效

我正在运行 ubuntu 10.04 i386 桌面版。我已通过 http_proxy 变量配置了 http 代理。当我使用时,wget我收到拒绝连接的消息,但curl, apt-get等等。工作正常。知道我在这里遗漏了什么吗?

$ echo $http_proxy
http://10.0.0.42:8080/
$ export HTTP_PROXY=$http_proxy
$ wget --proxy=on http://www.google.com
--2010-06-24 18:56:53--  http://www.google.com/
Resolving www.google.com... 74.125.95.106, 74.125.95.147, 74.125.95.99, ...
Connecting to www.google.com|74.125.95.106|:80... failed: Connection refused.
Connecting to www.google.com|74.125.95.147|:80... failed: Connection refused.
Connecting to www.google.com|74.125.95.99|:80... failed: Connection refused.
Connecting to www.google.com|74.125.95.103|:80... failed: Connection refused.
Connecting to www.google.com|74.125.95.104|:80... failed: Connection refused.
Connecting to www.google.com|74.125.95.105|:80... failed: Connection refused.
$ curl http://www.google.com
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>302 Moved</TITLE></HEAD><BODY>
<H1>302 Moved</H1>
The document has moved
<A HREF="http://www.google.co.in/">here</A>.
</BODY></HTML>
$ 

答案1

我发现有些程序使用环境变量http_proxy(小写),而其他程序使用HTTP_PROXY(大写)。因为这比查找哪个程序使用哪个变量更快,所以我倾向于同时设置它们。

答案2

设置后http_proxy如下:

export http_proxy="http://proxy.example.com:8080"

使用带有此标志的 wget:

--proxy=on

您可以使用

--proxy-username="username" --proxy-passwd="password"

在需要时设置代理用户名和密码。

答案3

谢谢你们的帮助。在 #ubuntu 的乐于助人的人的帮助下,我找到了解决方案。问题出在no_proxy设置localhostunsetwget

答案4

我已经使用正确的配置设置了代理,但这阻止我使用命令行下载任何内容。

因此必须按如下方式关闭代理,

wget --proxy=off http://apache.claz.org/flume/1.6.0/apache-flume-1.6.0-bin.tar.gz

相关内容