我正在将 libcurl 用于 HTTP 请求。
如果用户有任何代理设置,我的应用程序应该能够理解
所以它可以是代理服务器的代理或自动代理配置的代理
我看到 libcurl 中没有对 PAC 的支持
由于我的应用程序使用 C++,是否有可用的扩展/解析器引擎?
感谢您阅读帖子
PAC(代理自动配置)文件只是具有FindProxyForURL
返回代理配置字符串的功能的 Javascript。
从技术上讲,这个函数可以使用 Javascript 可以做的任何事情,所以你必须捆绑一些 Javascript 引擎来解释它。
tiny-js
(用 C++ 编写的简单单文件 javascript 解释器)是适合此任务的库。
更新:pacparser
库几乎是专为解析 pac 文件而设计的即用型引擎。它的缺点是它捆绑了整个SpiderMonkey
Javascript 引擎,这使得它成为一个相当繁重的解决方案——它会为你的项目二进制文件添加 1MB+ 来解析pac
文件。
如果您可以破解pacparser
使用tiny-js
而不是SpiderMonkey
,那将是非常好的解决方案。