我处于棘手的情况,我无法使用pacparser库,我希望有人有一个纯python解决方案(没有C / c ++模块)。
我有一个PAC文件,它返回了多个代理:
function FindProxyForURL(url,host)
{
if (isPlainHostName(host))
{ return "DIRECT"; }
#// Internal network Hosts
if (isInNet(host, "158.232.0.0", "255.255.0.0") || isInNet(host, "127.0.0.1", "255.255.255.255")|| isInNet(host, "10.0.0.0", "255.0.0.0"))
{ return "DIRECT"; }
#// Connect through proxy server for all other hosts. If proxy server is not available, connect directly
return "PROXY proxy.site.com:3128; PROXY proxy02.site.com:3128; PROXY proxy05.site.com:3128; PROXY proxy03.site.com:3128; PROXY proxy04.site.com:3128";
}
我如何仅使用python解析这个问题,以及判断哪个代理已启动的最佳方法是什么?
谢谢你并考虑到学院! :)
答案 0 :(得分:1)
我创建了一个名为PyPAC的纯Python库,它应该可以满足您的需求。它提供了requests.Session
的子类,其中包括荣誉PAC并包括PAC自动发现。
在内部,它使用Js2Py,一个解析和执行JavaScript的Python库。然后,PyPAC具有PAC规范所需的各种JavaScript函数的Python实现。