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!

questionAnswers(3)

yourAnswerToTheQuestion