【发布时间】:2013-04-12 05:01:02
【问题描述】:
我正在使用 libcurl 处理 HTTP 请求。
如果用户有任何代理设置,我的应用程序应该能够理解
所以可以 通过代理服务器代理或 通过自动代理配置代理
我发现 libcurl 不支持 PAC
由于我的应用程序是 C++,是否有可用的扩展/解析器引擎?
感谢阅读本文
【问题讨论】:
我正在使用 libcurl 处理 HTTP 请求。
如果用户有任何代理设置,我的应用程序应该能够理解
所以可以 通过代理服务器代理或 通过自动代理配置代理
我发现 libcurl 不支持 PAC
由于我的应用程序是 C++,是否有可用的扩展/解析器引擎?
感谢阅读本文
【问题讨论】:
PAC (Proxy Auto Config) 文件是简单的 Javascript,它具有函数 FindProxyForURL 返回代理配置字符串。
从技术上讲,这个函数可以使用 Javascript 可以做的任何事情,所以你必须捆绑一些 Javascript 引擎来解释它。
tiny-js(用 C++ 编写的简单单文件 javascript 解释器)是适合这项任务的库。
更新:pacparser 库几乎是专为解析 pac 文件而设计的即用型引擎。它的缺点是它捆绑了整个 SpiderMonkey Javascript engine,这使得它成为一个相当繁重的解决方案 - 它会为您的项目二进制文件添加 1MB+ 来解析 pac 文件。
如果您可以破解pacparser 以使用tiny-js 而不是SpiderMonkey,那将是非常好的解决方案。
【讨论】: