Partager via


WinHttpGetProxyForUrl, fonction (winhttp.h)

La fonction WinHttpGetProxyForUrl récupère les données de proxy pour l’URL spécifiée.

Syntaxe

WINHTTPAPI BOOL WinHttpGetProxyForUrl(
  [in]  HINTERNET                 hSession,
  [in]  LPCWSTR                   lpcwszUrl,
  [in]  WINHTTP_AUTOPROXY_OPTIONS *pAutoProxyOptions,
  [out] WINHTTP_PROXY_INFO        *pProxyInfo
);

Paramètres

[in] hSession

Handle de session WinHTTP retourné par la fonction WinHttpOpen .

[in] lpcwszUrl

Pointeur vers une chaîne Unicode terminée par un caractère Null qui contient l’URL de la requête HTTP que l’application se prépare à envoyer.

[in] pAutoProxyOptions

Pointeur vers une structure de WINHTTP_AUTOPROXY_OPTIONS qui spécifie les options de proxy automatique à utiliser.

[out] pProxyInfo

Pointeur vers une structure WINHTTP_PROXY_INFO qui reçoit le paramètre de proxy. Cette structure est ensuite appliquée au handle de requête à l’aide de l’option WINHTTP_OPTION_PROXY. Libérez les chaînes lpszProxy et lpszProxyBypass contenues dans cette structure (si elles ne sont pas NULL) à l’aide de la fonction GlobalFree .

Valeur retournée

Si la fonction réussit, la fonction retourne TRUE.

Si la fonction échoue, elle retourne FALSE. Pour les données d’erreur étendues, appelez GetLastError.

Les codes d’erreur possibles incluent le folllowing.

Code d'erreur Description
ERROR_WINHTTP_AUTO_PROXY_SERVICE_ERROR
Retourné par WinHttpGetProxyForUrl lorsqu’un proxy pour l’URL spécifiée est introuvable.
ERROR_WINHTTP_BAD_AUTO_PROXY_SCRIPT
Une erreur s’est produite lors de l’exécution du code de script dans le fichier PAC (Proxy Auto-Configuration).
ERROR_WINHTTP_INCORRECT_HANDLE_TYPE
Le type de handle fourni est incorrect pour cette opération.
ERROR_WINHTTP_INTERNAL_ERROR
Une erreur interne s'est produite.
ERROR_WINHTTP_INVALID_URL
L’URL n’est pas valide.
ERROR_WINHTTP_LOGIN_FAILURE
Échec de la tentative de connexion. Lorsque cette erreur se produit, fermez le handle de requête avec WinHttpCloseHandle. Un nouveau handle de requête doit être créé avant de réessayer la fonction qui a initialement généré cette erreur.
ERROR_WINHTTP_OPERATION_CANCELLED
L’opération a été annulée, généralement parce que le handle sur lequel la requête fonctionnait a été fermé avant la fin de l’opération.
ERROR_WINHTTP_UNABLE_TO_DOWNLOAD_SCRIPT
Impossible de télécharger le fichier PAC. Par exemple, le serveur référencé par l’URL PAC n’a peut-être pas été accessible, ou le serveur a retourné une réponse 404 NOT FOUND.
ERROR_WINHTTP_UNRECOGNIZED_SCHEME
L’URL du fichier PAC a spécifié un schéma autre que « http : » ou « https : ».
ERROR_NOT_ENOUGH_MEMORY
La mémoire disponible était insuffisante pour terminer l’opération demandée. (Code d’erreur Windows)

Remarques

Cette fonction implémente le protocole WPAD (Web Proxy Auto-Discovery) pour configurer automatiquement les paramètres de proxy pour une requête HTTP. Le protocole WPAD télécharge un fichier PAC (Proxy Auto-Configuration), qui est un script qui identifie le serveur proxy à utiliser pour une URL cible donnée. Les fichiers PAC sont généralement déployés par le service informatique au sein d’un environnement réseau d’entreprise. L’URL du fichier PAC peut être spécifiée explicitement ou WinHttpGetProxyForUrl peut être invité à découvrir automatiquement l’emplacement du fichier PAC sur le réseau local.

WinHttpGetProxyForUrl prend uniquement en charge les fichiers PAC basés sur ECMAScript.

WinHttpGetProxyForUrl doit être appelé par URL, car le fichier PAC peut retourner un serveur proxy différent pour différentes URL. Cela est utile, car le fichier PAC permet à un service informatique d’implémenter l’équilibrage de charge du serveur proxy en mappant (hachage) l’URL cible (spécifiée par le paramètre lpcwszUrl ) à un certain proxy dans un tableau de serveurs proxy.

WinHttpGetProxyForUrl met en cache l’URL autoproxy et le script autoproxy lorsque la découverte automatique est spécifiée dans le membre dwFlags de la structure pAutoProxyOptions . Pour plus d’informations, consultez Cache autoproxy.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP, Windows 2000 Professionnel avec SP3 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003, Windows 2000 Server avec SP3 [applications de bureau uniquement]
Plateforme cible Windows
En-tête winhttp.h
Bibliothèque Winhttp.lib
DLL Winhttp.dll

Voir aussi

WinHTTP Versions