如何为wget设置代理?

时间:2012-06-26 16:21:30

标签: linux web proxy wget

我想使用代理下载wget的内容:

HTTP Proxy: 127.0.0.1
Port: 8080

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

我该怎么做?我查了很多网站和许多建议,但没有任何对我有用......

13 个答案:

答案 0 :(得分:360)

对于系统的所有用户/etc/wgetrc或只有~/.wgetrc文件的用户:

use_proxy=yes
http_proxy=127.0.0.1:8080
https_proxy=127.0.0.1:8080

或通过-e选项放置在网址后面:

wget ... -e use_proxy=yes -e http_proxy=127.0.0.1:8080 ...

答案 1 :(得分:75)

输入命令行:

$ export http_proxy=http://proxy_host:proxy_port

用于经过身份验证的代理,

$ export http_proxy=http://username:password@proxy_host:proxy_port

然后运行

$ wget fileurl

对于https,只需使用https_proxy而不是http_proxy。您也可以将这些行放在〜/ .bashrc文件中,这样您就不必每次都执行此操作。

答案 2 :(得分:33)

以下可能的配置位于/etc/wgetrc,只是取消注释并使用...

# You can set the default proxies for Wget to use for http, https, and ftp.
# They will override the value in the environment.
#https_proxy = http://proxy.yoyodyne.com:18023/
#http_proxy = http://proxy.yoyodyne.com:18023/
#ftp_proxy = http://proxy.yoyodyne.com:18023/

# If you do not want to use proxy at all, set this to off.
#use_proxy = on

答案 3 :(得分:17)

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"

答案 4 :(得分:16)

在尝试了许多教程以在经过身份验证的代理后面配置我的Ubuntu 16.04 LTS之后,它使用了以下步骤:

修改p.add(colFamily, qualifier, Bytes.toBytes(Long.toString(this.newoffset)));

/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)。

答案 5 :(得分:6)

在Ubuntu 12.x中,我在$ HOME / .wgetrc

中添加了以下行
  

http_proxy = http://uname:passwd@proxy.blah.com:8080

     

use_proxy = on

答案 6 :(得分:4)

在我的ubuntu中,$ HOME / .wgetrc中的以下行已经成功了!

  

http_proxy = http://uname:passwd@proxy.blah.com:8080

     

use_proxy = on

答案 7 :(得分:4)

在Debian Linux中,wget可以配置为通过环境变量和wgetrc使用代理。在这两种情况下,用于HTTP和HTTPS连接的变量名称都是

http_proxy=hostname_or_IP:portNumber
https_proxy=hostname_or_IP:portNumber

请注意,文件/ etc / wgetrc优先于环境变量,因此如果您的系统在那里配置了代理并尝试使用环境变量,它们似乎没有任何效果!

答案 8 :(得分:2)

在Windows中 - 对于Fiddler说 - 使用环境变量:

set http_proxy=http://127.0.0.1:8888
set https_proxy=http://127.0.0.1:8888

答案 9 :(得分:1)

export http_proxy=http://proxy_host:proxy_port/
export https_proxy=https://proxy_host:proxy_port/

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

答案 10 :(得分:0)

If you need to execute wget just once with the proxy, the easiest way is to do it with a one-liner like this:

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

or with an https target URL:

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

答案 11 :(得分:0)

在文件〜/ .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/

答案 12 :(得分:0)

使用 tsocks 通过 socks5 代理开始wget:

  1. 安装tsocks:fed6de080aef54c4f1c1df732424df37cd3e5a3e
  2. 配置tsocks

    sudo apt install tsocks
  3. 开始:# vi /etc/tsocks.conf server = 127.0.0.1 server_type = 5 server_port = 1080