如何设置代理wget?

我想通过代理使用wget下载一些东西:

HTTP Proxy: 127.0.0.1
Port: 8080

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

我该怎么做呢?

806937 次浏览

以下可能的配置位于/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

对于通过/etc/wgetrc文件的系统的所有用户或仅使用~/.wgetrc文件的用户:

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

或者通过URL后面的-e选项:

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

在命令行输入:

$ 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文件,这样你就不需要每次都执行了。

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"

在Windows中——比如Fiddler——使用环境变量:

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

在我的ubuntu中,跟随$HOME/中的行。Wgetrc成功了!

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

Use_proxy = on

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

http_proxy=hostname_or_IP:portNumber
https_proxy=hostname_or_IP:portNumber

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

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

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

Use_proxy = on

在尝试了许多教程之后,我的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%40rd替换passw@rd)。

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使用。

如果你只需要用代理执行一次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

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

使用tsocks启动wget通过socks5代理:

  1. 安装tsocks: sudo apt install tsocks
  2. < p >配置tsocks

    # vi /etc/tsocks.conf
    
    
    server = 127.0.0.1
    server_type = 5
    server_port = 1080
    
  3. start: tsocks wget http://url_to_get