WinHttpGetProxyForUrl-Funktion (winhttp.h)
Die WinHttpGetProxyForUrl-Funktion ruft die Proxydaten für die angegebene URL ab.
Syntax
WINHTTPAPI BOOL WinHttpGetProxyForUrl(
[in] HINTERNET hSession,
[in] LPCWSTR lpcwszUrl,
[in] WINHTTP_AUTOPROXY_OPTIONS *pAutoProxyOptions,
[out] WINHTTP_PROXY_INFO *pProxyInfo
);
Parameter
[in] hSession
Das winHTTP-Sitzungshandle, das von der WinHttpOpen-Funktion zurückgegeben wird.
[in] lpcwszUrl
Ein Zeiger auf eine Unicode-Zeichenfolge mit Null-Beendigung, die die URL der HTTP-Anforderung enthält, die die Anwendung gerade sendet.
[in] pAutoProxyOptions
Ein Zeiger auf eine WINHTTP_AUTOPROXY_OPTIONS-Struktur , die die zu verwendenden Autoproxyoptionen angibt.
[out] pProxyInfo
Ein Zeiger auf eine WINHTTP_PROXY_INFO-Struktur , die die Proxyeinstellung empfängt. Diese Struktur wird dann mithilfe der Option WINHTTP_OPTION_PROXY auf das Anforderungshandle angewendet. Geben Sie die Zeichenfolgen lpszProxy und lpszProxyBypass in dieser Struktur (wenn sie nicht NULL sind) mithilfe der GlobalFree-Funktion frei.
Rückgabewert
Wenn die Funktion erfolgreich ist, gibt die Funktion TRUE zurück.
Wenn die Funktion fehlschlägt, gibt sie FALSE zurück. Rufen Sie GetLastError auf, um erweiterte Fehlerdaten zu erhalten.
Mögliche Fehlercodes sind folgende.
Fehlercode | BESCHREIBUNG |
---|---|
|
Wird von WinHttpGetProxyForUrl zurückgegeben, wenn kein Proxy für die angegebene URL gefunden werden kann. |
|
Fehler beim Ausführen des Skriptcodes in der PAC-Datei (Proxy Auto-Configuration). |
|
Der Typ des angegebenen Handles ist für diesen Vorgang falsch. |
|
Ein interner Fehler ist aufgetreten. |
|
Die URL ist ungültig. |
|
Fehler beim Anmeldeversuch. Wenn dieser Fehler auftritt, schließen Sie das Anforderungshandle mit WinHttpCloseHandle. Ein neues Anforderungshandle muss erstellt werden, bevor sie die Funktion wiederholen, die ursprünglich diesen Fehler verursacht hat. |
|
Der Vorgang wurde abgebrochen, in der Regel, weil der Handle, an dem die Anforderung ausgeführt wurde, vor Abschluss des Vorgangs geschlossen wurde. |
|
Die PAC-Datei konnte nicht heruntergeladen werden. Beispielsweise war der Server, auf den von der PAC-URL verwiesen wird, möglicherweise nicht erreichbar, oder der Server hat eine 404 NOT FOUND-Antwort zurückgegeben. |
|
Die URL der PAC-Datei hat ein anderes Schema als "http:" oder "https:" angegeben. |
|
Für den angeforderten Vorgang war nicht genügend Arbeitsspeicher verfügbar. (Windows-Fehlercode) |
Hinweise
Diese Funktion implementiert das WPAD-Protokoll (Web Proxy Auto-Discovery) zum automatischen Konfigurieren der Proxyeinstellungen für eine HTTP-Anforderung. Das WPAD-Protokoll lädt eine PAC-Datei (Proxy Auto-Configuration) herunter. Hierbei handelt es sich um ein Skript, das den Proxyserver identifiziert, der für eine bestimmte Ziel-URL verwendet werden soll. PAC-Dateien werden in der Regel von der IT-Abteilung innerhalb einer Unternehmensnetzwerkumgebung bereitgestellt. Die URL der PAC-Datei kann entweder explizit angegeben oder WinHttpGetProxyForUrl angewiesen werden, den Speicherort der PAC-Datei im lokalen Netzwerk automatisch zu ermitteln.
WinHttpGetProxyForUrl unterstützt nur ECMAScript-basierte PAC-Dateien.
WinHttpGetProxyForUrl muss auf URL-Basis aufgerufen werden, da die PAC-Datei einen anderen Proxyserver für unterschiedliche URLs zurückgeben kann. Dies ist nützlich, da die PAC-Datei es einer IT-Abteilung ermöglicht, einen Proxyserverlastenausgleich zu implementieren, indem die Ziel-URL (durch den Parameter lpcwszUrl angegeben) einem bestimmten Proxy in einem Proxyserverarray zugeordnet (Hashing) zugeordnet wird.
WinHttpGetProxyForUrl speichert die Autoproxy-URL und das Autoproxyskript zwischen, wenn die automatische Ermittlung im dwFlags-Member der pAutoProxyOptions-Struktur angegeben ist. Weitere Informationen finden Sie unter Autoproxy-Cache.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows XP, Windows 2000 Professional mit SP3 [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003, Windows 2000 Server mit SP3 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | winhttp.h |
Bibliothek | Winhttp.lib |
DLL | Winhttp.dll |