这个问题也发布在 SO。
我的研究所最近为我们的网络安装了一个新的代理服务器。我正在尝试配置我的Cygwin
环境以便能够运行wget
并从远程存储库下载数据。
浏览互联网后,我找到了两种不同的解决方案,但似乎没有一种对我的情况有用。
我尝试的第一个方法是这些说明,因此在 Cygwin 中:
cd /cygdrive/c/cygwin64/etc/
nano wgetrc
在文件末尾我添加了:
use_proxy = on
http_proxy=http://username:[email protected]:my.port/
https_proxy=https://username:[email protected]:my.port/
ftp_proxy=http://username:[email protected]:my.port/
(当然,使用我的用户和密码)
第二种方法是这篇文章,因此在我的 Cygwin 环境中:
export http_proxy=http://username:[email protected]:my.port/
export https_proxy=https://username:[email protected]:my.port/
export ftp_proxy=http://username:[email protected]:my.port/
在这两种情况下,如果我尝试测试我的 wget,我会得到以下结果:
$ wget http://www.google.com
--2020-01-30 12:12:22-- http://www.google.com/
Resolving my.proxy.ip (my.proxy.ip)... 10.1XX.XXX.XX
Connecting to my.proxy.ip (my.proxy.ip)|10.1XX.XXX.XX|:8XXX... connected.
Proxy request sent, awaiting response... 407 Proxy Authentication Required
2020-01-30 12:12:22 ERROR 407: Proxy Authentication Required.
看起来好像我的用户名和密码不正确,但实际上我在浏览器上检查了它们,我的凭证工作正常。
知道这可能是什么原因造成的吗?
答案1
首先,您不应该编辑全局配置/启动文件wgetrc
。我会wget
使用cygwin
安装程序重新安装以获取新的。您不应该编辑全局配置,而应该通过.wgetrc
在主文件夹中创建来提供自己的配置。例如
nano ~/.wgetrc
(请注意.
文件名的开头,这很重要)
接下来我认为该文件的内容应该是:
use_proxy=on
http_proxy=http://my.proxy.ip:my.port
https_proxy=https://my.proxy.ip:my.port
ftp_proxy=http://my.proxy.ip:my.port
proxy_user=username
proxy_password=password
请注意,我将代理用户名和密码与代理 URL 分开。这并不是说这真的有什么区别,但你永远不知道。我还删除了尾随/
的能有所不同,取决于代理的配置方式。
根据文档:
这些启动文件变量允许您覆盖环境指定的代理设置。
这意味着您在配置中输入的内容.wgetrc
将覆盖您设置的任何环境变量export
。