Condividi tramite


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
ERROR_WINHTTP_AUTO_PROXY_SERVICE_ERROR
Restituito da WinHttpGetProxyForUrl quando non è possibile individuare un proxy per l'URL specificato.
ERROR_WINHTTP_BAD_AUTO_PROXY_SCRIPT
Si è verificato un errore durante l'esecuzione del codice script nel file di configurazione automatica del proxy .
ERROR_WINHTTP_INCORRECT_HANDLE_TYPE
Il tipo di handle fornito non è corretto per questa operazione.
ERROR_WINHTTP_INTERNAL_ERROR
Si è verificato un errore interno.
ERROR_WINHTTP_INVALID_URL
L'URL non è valido.
ERROR_WINHTTP_LOGIN_FAILURE
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.
ERROR_WINHTTP_OPERATION_CANCELLED
L'operazione è stata annullata, in genere perché l'handle su cui era operativa la richiesta è stato chiuso prima del completamento dell'operazione.
ERROR_WINHTTP_UNABLE_TO_DOWNLOAD_SCRIPT
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.
ERROR_WINHTTP_UNRECOGNIZED_SCHEME
L'URL del file PAC ha specificato uno schema diverso da "http:" o "https:".
ERROR_NOT_ENOUGH_MEMORY
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

Vedi anche

Versioni di WinHTTP