Qual é a maneira correta de usar win32inet.WinHttpGetProxyForUrl
Estou tentando usar um recurso da biblioteca Microsoft WinHttp que foi exposto pelos desenvolvedores do Win32com. Infelizmente, a maior parte da biblioteca não parece estar documentada e não há nenhum exemplo da maneira correta de usar os recursos do win32inet através da biblioteca win32com.
Isto é o que eu tenho até agora:
import win32inet
hinternet = win32inet.InternetOpen("foo 1.0", 0, "", "", 0)
# Does not work!!!
proxy = win32inet.WinHttpGetProxyForUrl( hinternet, u"http://www.foo.com", 0 )
Como você pode ver, tudo o que estou tentando fazer é usar o recurso win32inet para descobrir qual proxy é o apropriado para usar em uma determinada URL, neste caso, foo.com.
Você pode me ajudar a corrigir a sintaxe da última linha? MSN tem algumboa documentação para a função que está sendo envolvida mas os argumentos não parecem mapear os da biblioteca python perfeitamente.
A versão corrigida deste script deve:
Ser capaz de procurar qual proxy usar para um determinado URL.
Ele sempre deve fazer exatamente o que o Internet Explorer faria (por exemplo, usar o mesmo proxy)
Ele deve ser válido em qualquer configuração válida do Windows XP. Isso significa que ele deve funcionar com um proxy explicitamente configurado e também sem proxy.
Só precisa trabalhar no Windows XP 32bit com o Python 2.4.4. Ele pode usar qualquer versão oficial do win32com.
Estou usando o Python2.4.4 com o Win32Com no Windows XP.
UPDATE 0:
OU ... você pode me dar uma implementação alternativa em cTypes? Enquanto eu puder fazer funcionar, eu estou feliz!