2

我处于无法使用 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 解析它,以及判断哪个代理启动的最佳方法是什么?

感谢您并考虑到学院!:)

4

1 回答 1

2

我创建了一个名为PyPAC的纯 Python 库,它应该可以满足您的需求。它提供了一个requests.Session包含荣誉 PAC 和 PAC 自动发现的子类。

在内部,它使用 Js2Py,一个解析和执行 JavaScript 的 Python 库。PyPAC 然后具有 PAC 规范所需的各种 JavaScript 函数的 Python 实现。

于 2017-05-22T05:48:58.970 回答