Découverte sans fichier de configuration automatique
Si aucun fichier de configuration automatique de proxy n’a été déployé sur le réseau local, WinHttpGetProxyForUrl ne trouve pas de serveur proxy. Si WinHttpGetProxyForUrl échoue, il existe plusieurs stratégies de secours possibles pour obtenir une configuration de proxy viable, en fonction de son environnement d’exécution. Il s’agit notamment d’inviter le paramètre de proxy via une interface utilisateur, nécessitant qu’une personne stocke la configuration du proxy dans le Registre à l’aide de l’utilitaire WinHTTP «ProxyCfg.exe» ou à l’aide de WinHttpGetIEProxyConfigForCurrentUser pour vérifier si un serveur proxy est répertorié dans les paramètres d’Internet Explorer.
Il est possible qu’il n’existe aucun fichier de configuration automatique de proxy, car le client dispose d’une connexion Internet directe, par exemple via un fournisseur de services Internet, et n’a pas besoin d’un serveur proxy.
Un serveur proxy peut être nécessaire, d’autre part, mais le réseau local peut ne pas prendre en charge WPAD. Dans ce cas, la configuration du proxy doit être obtenue auprès de l’utilisateur ou trouvée quelque part sur l’ordinateur client.
Une application WinHTTP s’exécutant dans un environnement de serveur de niveau intermédiaire, telle qu’une application COM+ ou ASP, doit s’appuyer sur un administrateur de serveur définissant une configuration proxy par défaut dans le Registre à l’aide de l’utilitaire «ProxyCfg.exe». Ces informations de configuration par défaut peuvent ensuite être récupérées à l’aide de la fonction WinHttpGetDefaultProxyConfiguration, ou simplement en spécifiant l’indicateur WINHTTP_ACCESS_TYPE_PRECONFIG dans l’appel WinHttpOpen.
En revanche, une application WinHTTP s’exécutant sur un ordinateur de bureau client peut tenter d’examiner les paramètres de proxy d’Internet Explorer. WinHttpGetIEProxyConfigForCurrentUser remplit une structure WINHTTP_CURRENT_USER_IE_PROXY_CONFIG fournie par l’appelant avec les paramètres de proxy Internet Explorer de l’utilisateur actuel pour la connexion active actuelle (rendez-vous, VPN ou LAN). Cette configuration peut indiquer que la détection automatique est utilisée ou qu’elle peut spécifier une URL pour un fichier de configuration automatique de proxy, ou elle peut spécifier un serveur proxy réel à utiliser, ou elle peut spécifier une combinaison des trois. Si ces informations incluent une URL PAC ou un serveur proxy, l’application WinHTTP peut essayer de les utiliser.
Un exemple qui utilise les fonctions WinHttpGetProxyForUrl et WinHttpGetIEProxyConfigForCurrentUser se trouvent dans les exemples WinHTTP du Kit de développement logiciel (SDK) platform.