我想知道一个与 wget 等效的功能,使我能够在调用命令时设置代理(如wget --proxy=$http_proxy
)。
有任何想法吗 ?
答案1
该-e
选项允许您在命令行中提供像 wgetrc 中的命令,因此您不需要更改文件...
wget -e use_proxy=yes -e http_proxy=$proxy http://askubuntu.com
答案2
无需修改系统文件,/etc/wgetrc
您可以在主目录中创建一个文件~/.wgetrc
。它将使您能够在用户级别本地修改 wget 设置。现在在 中写入以下内容~/.wgetrc
以在代理服务器后面使用 wget:
use_proxy = on
http_proxy = http://username:[email protected]:port/
https_proxy = http://username:[email protected]:port/
ftp_proxy = http://username:[email protected]:port/
如果您没有代理用户名和密码,只需在各处写入代理地址和端口,例如,
http_proxy = http://proxy.server.address:port/
这应该可行。我假设您已经为所有其他应用程序设置了代理。
答案3
您需要编辑wgetrc
位于 的文件/etc/wgetrc
。
使用您最喜欢的文本编辑器,即:nano /etc/wgetrc
编辑它
寻找http_proxy标记并删除#在它前面,在后面添加代理服务器=签名,即:
http_proxy=http://foo.proxy:8080
然后搜索使用代理服务器标记并删除#在它前面,保存文件。
wget
然后将使用指定的代理服务器。
如果您无法以用户的名义更改系统配置,您可以将当前配置复制到可以编辑的地方,即:cp /etc/wgetrc ~
并使用该--config=~/wgetrc
选项强制 wget 使用您更改的配置而不是全局配置。
答案4
未提及但应该提及的选项:使用环境变量(取决于您的发行版):
http_proxy=http://<proxy-server-ip>:<port>
export http_proxy
或者简单地
export http_proxy=http://<proxy-server-ip>:<port>
相同适用于:
https_proxy=http://<proxy-server-ip>:<port>
ftp_proxy=http://<proxy-server-ip>:<port>
您可以包含用户名和密码,如果您的密码中包含特殊字符,请务必包含“-s”。
http_proxy='http://<username>:<password>@<proxy-server-ip>:<port>'
例子:
export http_proxy=http://172.16.1.100:8080
export https_proxy='http://johndoe:[email protected]:8080'