Разбор файлов 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.

Другие вопросы по тегам