如何在Windows下为wget设置http代理地址?


11

如果没有参数运行我的wget打印:

D:\>wget
SYSTEM_WGETRC = c:/progra~1/wget/etc/wgetrc
syswgetrc = c:/progra~1/wget/etc/wgetrc
D:\Apps\Util\wget: missing URL
Usage: D:\Apps\Util\wget [OPTION]... [URL]...

Try `D:\Apps\Util\wget --help' for more options.

这可能意味着,就是找文件wgetrcc:/progra~1/wget/etc/wgetrc。不幸的是,该位置不适用于非root用户程序。我以为我可以修改SYSTEM_WGETRCsyswgetrc环境变量,但这看起来没有效果

D:\>echo %SYSTEM_WGETRC%
d:\apps\util\wgetrc

D:\>echo %syswgetrc%
D:\APPS\Util\wgetrc

真是太不可思议了。为什么要使用斜杠c:/?应该是C:\
barlop 2013年

也很有趣,您的wget告诉了您有关wgetrc的信息,而我的却没有。也许我们有一些不同的设置。但是,您拥有什么版本的wget?
barlop

Answers:


10

wget --help没有告诉你太多。有关更多详细信息,您可以查看在线wget手册man wget (它们是不同的东西,通常每个都值得检查)

简而言之,这是一个例子

C:\sdf>wget -e http_proxy=127.0.0.1:8118 www.google.com

还有一个

C:\sdf>set http_proxy=127.0.0.1:8118
C:\sdf>wget www.google.com

该手册提到了wgetrc命令。您会在此处看到有关http代理的一些信息。

6.3 Wgetrc命令

  • http_proxy = string
    使用字符串作为http代理,而不是环境中指定的字符串。
  • https_proxy = string
    使用字符串作为https代理,而不是环境中指定的字符串。

8.1代理

Wget支持HTTP和ftp检索的代理。Wget可以识别的指定代理位置的标准方法是使用以下环境变量:

  • http_proxy
  • https_proxy
    如果设置,则http_proxy和https_proxy变量应分别包含http和https连接的代理的URL。

添加

关于wget手册页和“ wget手册”。

命令行上的手册页是最新的,但是手册(与手册页不同的实体)并不总是最新的wget版本。截至撰写时(2015年9月)。http://www.gnu.org/software/wget/manual/wget.html 您可以在顶部看到该版本,并检查它是否为最新的 http://ftp.gnu.org/gnu/wget/, 其中显示了日期太。(您在archive.org上看到,例如,在2013年11月,gnu手册已过时。在2013年11月,甚至在2014年3月,他们仍显示wget 1.13.4,该数据来自2011年)

对于联机帮助页,如果要从命令行检查,则它必须是您使用的版本,因此只需确保命令为最新/更新它,就可以了。您可能要检查您正在使用的在线资源是否正在显示最新的手册页。这其中似乎罚款https://www.kernel.org/doc/man-pages/ 链接http://man7.org/linux/man-pages/man1/wget.1.html 您还可以检查其版本有针对ftp链接以确保它是最新版本。


在2013年12月,情况是man wget的版本比网页的最新。例如,--content-on-error位于该2013 man wget页面上,但未在列出该选项的wget在线手册上。因此,网页并非总是最新的。尽管如我的回答所述,但截至2015年9月,该网页是最新的。
barlop

1

我认为您只想设置HTTP_PROXY环境变量。

来自:http : //www.gnu.org/software/wget/manual/html_node/Proxies.html

Wget支持HTTP和ftp检索的代理。Wget可以识别的指定代理位置的标准方法是使用以下环境变量:

http_proxy
https_proxy

如果设置,则http_proxy和https_proxy变量应分别包含http和https连接的代理的URL。


1

barlop的回答总体来说还不错,但有几点评论:

在dos / windows命令行或批处理文件中,您可以指定

set http[s]_proxy=http[s]://proxyserver:port/

然后wget可以正常工作。

如果您在公司网络中对代理进行NTLM身份验证,则通常也将使用Windows单一登录凭据(无需麻烦处理域-反斜杠-用户)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.