A deteção automática de proxy pode estar ativada enquanto a cadeia de proxy manual está vazia. WinHttpGetIEProxyConfigForCurrentUser() retorna campos de configuração, não um ponto de extremidade final para cada destino.

CampoSignificado
Proxy manualUm valor configurado explicitamente
URL de configuração automáticaA localização do script PAC
Sinalizador de deteção automáticaSe a deteção está ativada

A estrutura é a saída. Definir o respetivo membro de deteção automática antes de chamar a função não ativa a deteção do Windows. Utilize os campos retornados para construir um pedido de proxy automático separado com os sinalizadores documentados.

Primeiro resolva, depois aplique

Uma API como WinHttpGetProxyForUrl() avalia o URL real do destino. Forneça esse URL, não o URL de transferência do PAC, e aplique o resultado da resolução ao pedido WinHTTP relevante.

Um resultado direto é válido. Os erros de transferência do script, avaliação do script e ligação ao proxy ocorrem em passos separados. Verifique os códigos de falha e siga as regras de propriedade das cadeias retornadas.

A configuração de quem?

“CurrentUser” significa o contexto do chamador. Um serviço sem a personificação adequada pode ler as definições da sua conta de serviço em vez das do utilizador do ambiente de trabalho.

Escolha deliberadamente se o serviço utiliza definições geridas ou segue a configuração de um utilizador autorizado, incluindo o comportamento quando não existe nenhum utilizador interativo. O tratamento de tokens e a limpeza de recursos devem seguir as API de identidade suportadas.

Para diagnóstico, mantenha juntos a conta de chamada, os campos de configuração, o destino, o resultado da resolução e o primeiro erro de ligação. Isso mostra em que etapa surgiu o valor vazio ou a rota falhada.

Artigos relacionados