我想用代理下载一些wget的东西:

HTTP Proxy: 127.0.0.1
Port: 8080

代理不需要用户名和密码。

我该怎么做呢?


当前回答

如果你只需要用代理执行一次wget,最简单的方法是用这样的一行程序来执行:

http_proxy=http://username:password@proxy_host:proxy_port wget http://fileurl

或使用https目标URL:

https_proxy=http://username:password@proxy_host:proxy_port wget https://fileurl

其他回答

在Ubuntu 12中。x,我在$HOME/.wgetrc中添加了以下行

Http_proxy = http://uname:passwd@proxy.blah.com:8080 Use_proxy = on

在文件~/中添加以下行。Wgetrc或/etc/wgetrc(如果没有,创建文件):

http_proxy = http://[Proxy_Server]:[port]
https_proxy = http://[Proxy_Server]:[port]
ftp_proxy = http://[Proxy_Server]:[port]

欲了解更多信息,请访问https://www.thegeekdiary.com/how-to-use-wget-to-download-file-via-proxy/

Wget使用环境变量,像这样在命令行可以工作:

export http_proxy=http://your_ip_proxy:port/
export https_proxy=$http_proxy
export ftp_proxy=$http_proxy
export dns_proxy=$http_proxy
export rsync_proxy=$http_proxy
export no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com"
export http_proxy=http://proxy_host:proxy_port/
export https_proxy=https://proxy_host:proxy_port/

or

export http_proxy=http://username:password@proxy_host:proxy_port/
export https_proxy=https://username:password@proxy_host:proxy_port/

正如这里其他所有解释的那样,这些环境变量有助于传递代理。

注意:如果密码包含任何特殊字符,则需要配置为%<hex_value_of_special_char>。

示例:如果密码为pass#123,则需要在以上导出命令中使用pass%23123。

在尝试了许多教程之后,我的Ubuntu 16.04 LTS在一个经过身份验证的代理后,它按照以下步骤工作:

编辑 /etc/wgetrc:

$ sudo nano /etc/wgetrc

取消注释以下几行:

#https_proxy = http://proxy.yoyodyne.com:18023/
#http_proxy = http://proxy.yoyodyne.com:18023/
#ftp_proxy = http://proxy.yoyodyne.com:18023/
#use_proxy = on

将http://proxy.yoyodyne.com:18023/修改为http://username:password@domain:port/

重要提示:如果它仍然不工作,检查您的密码是否有特殊字符,如#,@,…如果是这种情况,则转义它们(例如,将passw@rd替换为passw%40rd)。