通过基于 .pac 配置的代理服务器使用 wget

通过基于 .pac 配置的代理服务器使用 wget

我想通过使用 .pac 配置的代理来使用 wget。

当我用 Google 搜索了一下后,我发现 .pac 是一个 javascript 文件,并且 wget 无法根据以下 URL 解析它

http://www.linuxquestions.org/questions/linux-networking-3/i-want-to-use-wget-configured-with-a-wpad-dat-proxy-636922/

有没有什么办法?

提前致谢

答案1

如果.pac文件不会经常更改(根据我的经验,它们不会更改),您只需读取文件并找到正确的代理即可wget

如果文件太复杂或变化很大,你可以用python编写一个小脚本pacparser 库

答案2

引自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

答案3

查看 bash 工具包获取使用解析器库。它还会稳健地尝试所有代理和服务器的组合。

答案4

我们必须在我们的一些工具中集成一些代理支持(仅限基于 Windows),并且为了验证我们的实现,我们创建了一个“wget”实用程序(名为 VVGet),它可以使用基于 WPAD 或 PAC 文件(自动代理)的代理。

此工具目前可免费使用,网址为: http://win10wiwi.com/dlfiles/VVGet.exe

如果启用了 WPAD 或客户端系统配置中存在 AutoProxy/PAC 文件,这样 Internet Explorer 或 Windows Update 就可以通过代理,VVGet 也应该能够做到这一点。至少如果不需要身份验证的话。VVGet 支持基本代理身份验证(手动指定代理)。

编辑:VVGet 现在是一个开源项目,可以在 github 上找到: https://github.com/MrTheV/VVGet/

ReadMe.txt 文件内容如下:

目的等。该程序是 Delphi for Windows 实现的 WGet 类型工具。它的主要优点是它可以通过依赖 WinHTTP AutoProxy 子系统来使用 AutoProxy 功能。然后,如果 AutoProxy 可用,无论是通过 DNS、DHCP、JavaScript URL 还是其他配置方式,VVGet 都可以使用所述自动代理获取文件。还支持手动代理。如果 Windows/InternetExplorer 中的参数指定设置了“自动检测代理”,则认为 AutoProxy 已启用。请参阅 WinHttpGetIEProxyConfigForCurrentUser 函数和 https:msdn.microsoft.com/fr-fr/library/windows/desktop/aa384240(v=vs.85).aspx 警告:使用 Windows 凭据的集成代理身份验证尚未经过全面测试,可能无法按预期工作。依赖项 VVGet 是使用 Indy 10 构建的。当需要客户端 SNI 支持时(例如当使用共享主机时,其中多个主机名共享同一个 IP 地址),需要较新版本的 Indy10(2016/01/10 (YYYY/MM/DD) 之后)才能支持通过 SSL/TLS 提取文件。请参阅http:www.indyproject.org/Sockets/Blogs/ChangeLog/20160110B.en.aspx 如果在通过 https 获取文件时出现 EIdOSSLUnderlyingCryptoError 异常,则您的 Indy 版本可能太旧。从http:www.indyproject.org/获取较新的 Indy 10 VVGet 嵌入 OpenSSL DLL,以便自包含。DLL 作为二进制文件嵌入在资源中,提取到 %TEMP% 中的子文件夹,并调整 %PATH% 以便 VVGet 使用提取的 OpenSSL DDL。为了使用适合 Indy 的 OpenSSL DLLS,且无任何依赖关系,请检查此链接:http:indy.fulgan.com/SSL/*

相关内容