pacparserPAC文件解析库

联合创作 · 2023-10-01 02:35

pacparser 是一个用于解析代理自动配置(PAC)文件的库。代理自动配置文件是当今广泛使用的代理配置方法。Web 浏览器可以使用 PAC 文件来确定要使用哪个代理服务器,或者是否直接访问给定的 URL。PAC 文件是用 JavaScript 编写的,可以"PROXY proxy1:port; DIRECT"根据URL,源IP地址,协议,一天中的时间等编程为返回不同的代理方法。

不用说,PAC 文件现在已成为代理配置管理的一种广泛接受的方法,并且各地的公司都在公司环境中使用它们。几乎所有流行的 Web 浏览器都支持 PAC 文件。pacparser 的想法是使此 PAC 文件解析功能易于添加到任何程序中(目前支持 C 和python)。它以共享的 C 库和 python 模块的形式出现,可用于使任何 C 或 python 程序 PAC 脚本智能化。一些非常有用的目标可能是流行的 Web 软件,例如 wget,curl 和 python-urllib。

安装

请参阅软件包根目录中的“安装”。

如何使用它?

Pacparser作为共享库(在类似Unix的系统上为libpacparser.so,在Windows上为pacparser.dll)以及一个 python 模块。使用它很容易根据它编译 C 程序或在 python 程序中导入 pacparser 模块。

使用范例

Python:

>> >  进口 pacparser 
>> >  pacparser。初始化()
 >> >  pacparser。parse_pac'的例子/ WPAD.DAT' >> >  pacparser。find_proxy'http://www.google.com' 'www.google.com' '直接' 
>> >  pacparser。setmyip“192.168.1.134” >> >  pacparser。find_proxy'http://www.google.com''PROXY proxy1.manugarg.com:3128; PROXY proxy2.manugarg.com:3128; 直接” 
>> >  pacparser。find_proxy'http://www2.manugarg.com' 'www2.manugarg.com' '直接' 
>> >  pacparser。清理()
 >> >

C:

包括 < stdio.h中>

int  pacparser_init();
int  pacparser_parse_pacchar * pacfile);
char * pacparser_find_proxychar * url,char * host);
无效 pacparser_cleanup();

int  mainint argc,char * argv [])
{
  字符 *代理;
  pacparser_init();
  pacparser_parse_pac(argv [ 1 ]);
  proxy = pacparser_find_proxy(argv [ 2 ],argv [ 3 ]);
  printf%s \ n ,代理);
  pacparser_cleanup();
}
manugarg@hobbiton:~$ gcc -o pactest pactest.c -lpacparser
manugarg@hobbiton:~$ ./pactest wpad.dat http://www.google.com www.google.com
PROXY proxy1.manugarg.com:3128; PROXY proxy2.manugarg.com:3128; DIRECT

平台

pacparser 经过测试可在 Linux(Debian 支持的所有体系结构),Mac OS X 和 Win32 系统上工作。

浏览 10
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报