Tivemos que integrar algum suporte a proxy em algumas de nossas ferramentas (somente Windows) e para validar nossa implementação, criamos um utilitário "wget" (chamado VVGet) que pode usar proxies baseados em arquivos WPAD ou PAC ( autoproxy).
Esta ferramenta está atualmente disponível gratuitamente, aqui:
link
Se o WPAD estiver habilitado ou se houver um arquivo AutoProxy / PAC disponível para uma configuração do sistema cliente de forma que o Internet Explorer ou o Windows Update possam passar por um proxy, o VVGet também deverá ser capaz de fazê-lo. Pelo menos se não houver autenticação necessária.
A autenticação básica do proxy é suportada no VVGet (especificando o proxy manualmente).
Edit: VVGet é agora um projeto de código aberto que pode ser encontrado no github:
link
O arquivo ReadMe.txt diz isso:
OBJETIVO ETC.
Este programa é uma implementação do Delphi para Windows de uma ferramenta do tipo WGet.
Sua principal vantagem é que ele pode usar os recursos do AutoProxy confiando em
Subsistema AutoProxy do WinHTTP. Em seguida, se o AutoProxy estiver disponível, seja por meio de DNS, DHCP, URL JavaScript ou por outros meios de configuração, o VVGet poderá buscar um arquivo usando o referido proxy automático. O proxy manual também é suportado.
O AutoProxy é considerado habilitado se os parâmetros do Windows / InternetExplorer especificarem que "Auto Detect Proxy" está definido. Consulte a função WinHttpGetIEProxyConfigForCurrentUser e https: msdn.microsoft.com/fr-fr/library/windows/desktop/aa384240 (v = vs.85) .aspx
Aviso: a autenticação de proxy integrada com credenciais do Windows não foi totalmente testada e pode não funcionar como esperado.
DEPENDÊNCIAS
O VVGet é construído usando o Indy 10. Uma versão recente do Indy10 (após 2016/01/10 (AAAA / MM / DD)) é necessária para oferecer suporte à busca de arquivos SSL / TLS quando o suporte a SNI do lado do cliente é necessário, por exemplo usando hospedagem compartilhada em que vários nomes de host compartilham o mesmo endereço IP.
Veja http: www.indyproject.org/Sockets/Blogs/ChangeLog/20160110B.en.aspx
Se você obtiver uma exceção EIdOSSLUnderlyingCryptoError ao buscar um arquivo
https, sua versão do Indy pode ser muito antiga.
Receba um recente Indy 10 de http: www.indyproject.org/
VVGet incorpora DLLs OpenSSL, para ser independente. As DLLs são incorporadas
como binários nos recursos, extraídos para uma subpasta em% TEMP% e% PATH% é
ajustado para que os DDLs OpenSSL extraídos sejam usados pelo VVGet.
Para usar o OpenSSL DLLS adequado ao Indy, sem dependências, verifique este link:
http: indy.fulgan.com/SSL / *