Compartilhar via


Descoberta sem um arquivo de configuração automática

Se um arquivo de configuração automática de proxy não tiver sido implantado na rede local, o WinHttpGetProxyForUrl não poderá encontrar um servidor proxy. Se WinHttpGetProxyForUrl falhar, há várias estratégias de fall-back possíveis para obter uma configuração de proxy viável, dependendo de seu ambiente de runtime. Isso inclui solicitar a configuração de proxy por meio de uma interface do usuário, exigir que alguém armazene a configuração de proxy no registro usando o utilitário "ProxyCfg.exe" WinHTTP ou usar WinHttpGetIEProxyConfigForCurrentUser para marcar se um servidor proxy está listado nas configurações do Explorer da Internet.

É possível que não haja nenhum arquivo de configuração automática de proxy porque o cliente tem uma conexão direta com a Internet, como por meio de um ISP, e não precisa de um servidor proxy.

Um servidor proxy pode ser necessário, por outro lado, mas a rede local pode não dar suporte ao WPAD. Nesse caso, a configuração de proxy deve ser obtida do usuário ou encontrada em algum lugar no computador cliente.

Um aplicativo baseado em WinHTTP em execução em um ambiente de servidor de camada intermediária, como um aplicativo COM+ ou ASP, deve contar com um administrador de servidor definindo uma configuração de proxy padrão no registro usando o utilitário "ProxyCfg.exe". Essas informações de configuração padrão podem ser recuperadas usando a função WinHttpGetDefaultProxyConfiguration ou simplesmente especificando o sinalizador WINHTTP_ACCESS_TYPE_PRECONFIG na chamada WinHttpOpen .

Por outro lado, um aplicativo WinHTTP em execução em um computador da área de trabalho do cliente pode tentar examinar as configurações de proxy do Explorer da Internet. WinHttpGetIEProxyConfigForCurrentUser preenche uma estrutura de WINHTTP_CURRENT_USER_IE_PROXY_CONFIG fornecida pelo chamador com as configurações de proxy de internet Explorer do usuário atual para a conexão ativa atual (discagem, VPN ou LAN). Essa configuração pode indicar que a detecção automática é usada ou pode especificar uma URL para um arquivo de configuração automática de proxy ou pode especificar um servidor proxy real a ser usado ou pode especificar uma combinação dos três. Se essas informações incluirem uma URL PAC ou um servidor proxy, o aplicativo WinHTTP poderá tentar usá-las.

Um exemplo que usa as funções WinHttpGetProxyForUrl e WinHttpGetIEProxyConfigForCurrentUser pode ser encontrado nos exemplos do WinHTTP do SDK (Platform Software Development Kit).