Назад | Перейти на главную страницу

использование wget через прокси-сервер на основе конфигурации .pac

Я хочу использовать wget через прокси, который использует конфигурацию .pac.

Когда я немного погуглил, я обнаружил, что .pac - это файл javascript, и wget не может его проанализировать на основе следующего URL-адреса

http://www.linuxquestions.org/questions/linux-networking-3/i-want-to-use-wget-configured-with-a-wpad-dat-proxy-636922/

Есть ли обходной путь?

заранее спасибо

Если .pac файл не меняется слишком часто (по моему опыту, они не меняются), вы можете просто прочитать файл и найти правильный прокси для передачи wget.

Если файл слишком сложный или сильно изменяется, вы можете написать небольшой скрипт на Python, используя библиотека pacparser.

Проверьте инструмент bash pacwget который делает это с помощью пакпарсер библиотека. Он также надежно пробует все комбинации прокси и серверов.

Цитируется из http://www.gnu.org/software/wget/manual/html_node/Proxies.html

Wget поддерживает прокси для получения как HTTP, так и FTP. Стандартный способ указать расположение прокси, которое распознает Wget, использует следующие переменные среды: http_proxy https_proxy

Если установлено, переменные http_proxy и https_proxy должны содержать URL-адреса прокси-серверов для соединений HTTP и HTTPS соответственно.

Нам пришлось интегрировать некоторую поддержку прокси в некоторые из наших инструментов (только для Windows), и для проверки нашей реализации мы создали утилиту «wget» (названную VVGet), которая может использовать прокси на основе файлов WPAD или PAC (автопрокси).

Этот инструмент в настоящее время доступен бесплатно здесь: http://win10wiwi.com/dlfiles/VVGet.exe

Если WPAD включен или есть файл AutoProxy / PAC, доступный для конфигурации клиентской системы таким образом, что Internet Explorer или Центр обновления Windows могут проходить через прокси, VVGet также должен иметь возможность сделать это. По крайней мере, если аутентификация не нужна. В VVGet поддерживается базовая проверка подлинности прокси (указание прокси вручную).

Изменить: VVGet теперь является проектом с открытым исходным кодом, который можно найти на github: https://github.com/MrTheV/VVGet/

В файле ReadMe.txt говорится следующее:

ЦЕЛЬ И Т.Д. Эта программа представляет собой реализацию инструмента типа WGet в Delphi для Windows. Его основным преимуществом является то, что он может использовать функции AutoProxy, полагаясь на подсистему WinHTTP AutoProxy. Затем, если AutoProxy доступен через DNS, DHCP, URL-адрес JavaScript или с помощью других средств конфигурации, VVGet может получить файл, используя указанный автоматический прокси. Также поддерживается ручной прокси. AutoProxy считается включенным, если в параметрах Windows / InternetExplorer указано, что установлено «Auto Detect Proxy». См. Функцию WinHttpGetIEProxyConfigForCurrentUser и https: msdn.microsoft.com/fr-fr/library/windows/desktop/aa384240 (v = vs.85) .aspx Предупреждение: встроенная проверка подлинности прокси с учетными данными Windows не была полностью протестирована и может не работать как ожидается. ЗАВИСИМОСТИ VVGet построен с использованием Indy 10. Последняя версия Indy10 (после 2016/01/10 (ГГГГ / ММ / ДД)) требуется для поддержки выборки файлов через SSL / TLS, когда требуется поддержка SNI на стороне клиента, например при использовании общего хостинга, в котором несколько имен хостов имеют один и тот же IP-адрес. См. Http: www.indyproject.org/Sockets/Blogs/ChangeLog/20160110B.en.aspx. Если вы получаете исключение EIdOSSLUnderlyingCryptoError при загрузке файла по https, ваша версия Indy может быть слишком старой. Загрузите последнюю версию Indy 10 по адресу http://www.indyproject.org/. VVGet встраивает библиотеки DLL OpenSSL для обеспечения автономности. Библиотеки DLL встраиваются как двоичные файлы в ресурсы, извлекаются во вложенную папку в% TEMP%, а% PATH% настраивается таким образом, чтобы извлеченные DDL OpenSSL использовались VVGet. Чтобы использовать OpenSSL DLLS, совместимую с Indy, без зависимостей, проверьте эту ссылку: http: indy.fulgan.com/SSL/*