pacparserPAC文件解析库
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_pac(char * pacfile);
char * pacparser_find_proxy(char * url,char * host);
无效 pacparser_cleanup();
int main(int 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 系统上工作。
评论