0

我正在将 libcurl 用于 HTTP 请求。

如果用户有任何代理设置,我的应用程序应该能够理解

所以它可以是代理服务器的代理或自动代理配置的代理

我看到 libcurl 中没有对 PAC 的支持

由于我的应用程序使用 C++,是否有可用的扩展/解析器引擎?

感谢您阅读帖子

4

1 回答 1

2

PAC(代理自动配置)文件只是具有FindProxyForURL返回代理配置字符串的功能的 Javascript。

从技术上讲,这个函数可以使用 Javascript 可以做的任何事情,所以你必须捆绑一些 Javascript 引擎来解释它。

tiny-js(用 C++ 编写的简单单文件 javascript 解释器)是适合此任务的库。

更新pacparser库几乎是专为解析 pac 文件而设计的即用型引擎。它的缺点是它捆绑了整个SpiderMonkeyJavascript 引擎,这使得它成为一个相当繁重的解决方案——它会为你的项目二进制文件添加 1MB+ 来解析pac文件。

如果您可以破解pacparser使用tiny-js而不是SpiderMonkey,那将是非常好的解决方案。

于 2013-04-12T05:47:29.900 回答