Funzione WinHttpGetProxyForUrl (winhttp.h)
La funzione WinHttpGetProxyForUrl recupera i dati proxy per l'URL specificato.
Sintassi
WINHTTPAPI BOOL WinHttpGetProxyForUrl(
[in] HINTERNET hSession,
[in] LPCWSTR lpcwszUrl,
[in] WINHTTP_AUTOPROXY_OPTIONS *pAutoProxyOptions,
[out] WINHTTP_PROXY_INFO *pProxyInfo
);
Parametri
[in] hSession
Handle di sessione WinHTTP restituito dalla funzione WinHttpOpen .
[in] lpcwszUrl
Puntatore a una stringa Unicode con terminazione Null che contiene l'URL della richiesta HTTP che l'applicazione sta preparando per l'invio.
[in] pAutoProxyOptions
Puntatore a una struttura WINHTTP_AUTOPROXY_OPTIONS che specifica le opzioni proxy automatico da usare.
[out] pProxyInfo
Puntatore a una struttura WINHTTP_PROXY_INFO che riceve l'impostazione del proxy. Questa struttura viene quindi applicata all'handle di richiesta usando l'opzione WINHTTP_OPTION_PROXY . Liberare le stringhe lpszProxy e lpszProxyBypass contenute in questa struttura (se non NULL) usando la funzione GlobalFree .
Valore restituito
Se la funzione ha esito positivo, la funzione restituisce TRUE.
Se la funzione ha esito negativo, restituisce FALSE. Per i dati degli errori estesi, chiamare GetLastError.
I codici di errore possibili includono la folleazione.
Codice di errore | Descrizione |
---|---|
|
Restituito da WinHttpGetProxyForUrl quando non è possibile individuare un proxy per l'URL specificato. |
|
Si è verificato un errore durante l'esecuzione del codice script nel file di configurazione automatica del proxy . |
|
Il tipo di handle fornito non è corretto per questa operazione. |
|
Si è verificato un errore interno. |
|
L'URL non è valido. |
|
Tentativo di accesso non riuscito. Quando si verifica questo errore, chiudere l'handle della richiesta con WinHttpCloseHandle. È necessario creare un nuovo handle di richiesta prima di ritentare la funzione che ha originariamente generato questo errore. |
|
L'operazione è stata annullata, in genere perché l'handle su cui era operativa la richiesta è stato chiuso prima del completamento dell'operazione. |
|
Impossibile scaricare il file PAC. Ad esempio, il server a cui fa riferimento l'URL PAC potrebbe non essere stato raggiungibile oppure il server ha restituito una risposta 404 NOT FOUND. |
|
L'URL del file PAC ha specificato uno schema diverso da "http:" o "https:". |
|
Memoria insufficiente per completare l'operazione richiesta. (Codice errore di Windows) |
Commenti
Questa funzione implementa il protocollo WPAD (Web Proxy Auto-Discovery) per configurare automaticamente le impostazioni proxy per una richiesta HTTP. Il protocollo WPAD scarica un file PAC (Proxy Auto Configuration), ovvero uno script che identifica il server proxy da usare per un URL di destinazione specificato. I file PAC vengono in genere distribuiti dal reparto IT all'interno di un ambiente di rete aziendale. È possibile specificare l'URL del file PAC in modo esplicito o WinHttpGetProxyForUrl per individuare automaticamente il percorso del file PAC nella rete locale.
WinHttpGetProxyForUrl supporta solo i file PAC basati su ECMAScript.
WinHttpGetProxyForUrl deve essere chiamato in base all'URL, perché il file PAC può restituire un server proxy diverso per URL diversi. Ciò è utile perché il file PAC consente a un reparto IT di implementare il bilanciamento del carico del server proxy eseguendo il mapping (hashing) dell'URL di destinazione (specificato dal parametro lpcwszUrl ) a un determinato proxy in una matrice di server proxy.
WinHttpGetProxyForUrl memorizza nella cache l'URL autoproxy e lo script autoproxy quando l'individuazione automatica viene specificata nel membro dwFlags della struttura pAutoProxyOptions . Per altre informazioni, vedere Cache autoproxy.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP, Windows 2000 Professional con SP3 [solo app desktop] |
Server minimo supportato | Windows Server 2003, Windows 2000 Server con SP3 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | winhttp.h |
Libreria | Winhttp.lib |
DLL | Winhttp.dll |