Разбор файлов PAC в Python без использования модулей C
Я нахожусь в сложной ситуации, когда не могу использовать библиотеку 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 и каков наилучший способ определить, какой прокси работает?
Спасибо и за внимание к академии!:)
1 ответ
Я создал чистую библиотеку Python под названием PyPAC, которая должна делать то, что вы ищете. Это обеспечивает подкласс requests.Session
это включает в себя PAC с отличием и включает автоматическое обнаружение PAC.
Внутренне он использует Js2Py, библиотеку Python, которая анализирует и выполняет JavaScript. Затем PyPAC имеет реализации Python различных функций JavaScript, требуемых спецификацией PAC.