Wie verwende ich win32inet.WinHttpGetProxyForUrl richtig?

Ich versuche, eine Funktion der Microsoft WinHttp-Bibliothek zu verwenden, die von den Entwicklern von Win32com bereitgestellt wurde. Leider scheint der größte Teil der Bibliothek nicht dokumentiert zu sein, und es gibt kein Beispiel für die korrekte Verwendung der win32inet-Funktionen über die win32com-Bibliothek.

Das habe ich bisher:

import win32inet
hinternet = win32inet.InternetOpen("foo 1.0", 0, "", "", 0)
# Does not work!!!
proxy = win32inet.WinHttpGetProxyForUrl( hinternet, u"http://www.foo.com", 0  )

Wie Sie sehen, ist alles, was ich versuche, die Funktion win32inet zu verwenden, um herauszufinden, welcher Proxy für eine bestimmte URL geeignet ist, in seinem Fall foo.com.

Können Sie mir helfen, die Syntax der letzten Zeile zu korrigieren? MSN hat einigegute Dokumentation für die Funktion, die gewickelt wird Aber die Args scheinen die der Python-Bibliothek nicht perfekt zuzuordnen.

Die feste Version dieses Skripts sollte:

Sie können nachsehen, welcher Proxy für eine bestimmte URL verwendet werden soll.

Es sollte immer genau das tun, was Internet Explorer tun würde (d. H. Denselben Proxy verwenden)

Es sollte in jedem gültigen Windows XP-Setup gültig sein. Das heißt, es sollte mit einem explizit konfigurierten Proxy und auch überhaupt keinem Proxy funktionieren.

Es muss nur unter Windows XP 32bit mit Python 2.4.4 funktionieren. Es kann jede offizielle veröffentlichte Version von win32com verwendet werden.

Ich verwende Python 2.4.4 mit Win32Com unter Windows XP.

UPDATE 0:

ODER ... können Sie mir eine alternative Implementierung in cTypes geben? Solange ich es schaffen kann, bin ich glücklich!

Antworten auf die Frage(3)

Ihre Antwort auf die Frage