如果我wget
从终端执行下载某些内容,它会尝试多次下载,最终会下载(或不下载!)。例如,尝试三次并等待 10 秒后,我得到了以下输出:
$ LANG=C wget -T 10 -t 3 -O contents.txt www.google.com
--2013-04-14 14:55:48-- http://www.google.com/
Connecting to 213.181.73.145:80... failed: Connection timed out.
Retrying.
--2013-04-14 14:55:59-- (try: 2) http://www.google.com/
Connecting to 213.181.73.145:80... failed: Connection timed out.
Retrying.
--2013-04-14 14:56:11-- (try: 3) http://www.google.com/
Connecting to 213.181.73.145:80... failed: Connection timed out.
Giving up.
但是如果我用 执行同一行sudo
,下载立即成功。这是为什么呢?
此外,如果我wget
在脚本中放入一行,并且从中调用该脚本cron
,那么也wget
可以正常工作。
已编辑这是代理的问题。使用:wget --no-proxy
也可以正常工作。我如何检查系统正在使用哪个代理?为什么sudo
要忽略这个代理?
答案1
可能的原因包括:
~/.wgetrc
在您的主目录中创建一个自定义$USER
目录。
检查/etc/wgetrc
并man wget(1)
http_proxy
在您的任何配置文件启动脚本中设置
答案2
213.181.73.145
绝对不是 Google。这是 TELEJUMILLA PA 街区的西班牙地址,据我所知,它与 Google 没有关联(我可能记错了)。
尝试检查您在 root 权限下获得的 IP。
(WAG:你在 TeleJumilla 里面,普通用户应该被重定向到无法正常工作的代理或也从内部受到防火墙保护)。