WPAD está activado. Por que o enderezo de proxy de WinHTTP está baleiro?
Ler a configuración de proxy de Windows e resolver un proxy para un destino son operacións distintas. A identidade do servizo engade outra fronteira.
A detección automática de proxy pode estar activada mentres a cadea de proxy manual está baleira. WinHttpGetIEProxyConfigForCurrentUser() devolve campos de configuración, non un punto final para cada destino.
| Campo | Significado |
|---|---|
| Proxy manual | Un valor configurado explicitamente |
| URL de configuración automática | A localización do script PAC |
| Bandeira de detección automática | Se a detección está activada |
A estrutura é a saída. Establecer o seu membro de detección automática antes de chamar a función non activa a detección de Windows. Use os campos devoltos para construír unha solicitude de proxy automática separada coas bandeiras documentadas.
Primeiro resolva, despois aplique
Unha API como WinHttpGetProxyForUrl() avalía o URL real do destino. Proporcione ese URL, non o URL de descarga do PAC, e aplique o resultado da resolución á solicitude WinHTTP correspondente.
Un resultado directo é válido. Os erros de descarga do script, avaliación do script e conexión ao proxy ocorren en pasos separados. Comprobe os códigos de fallo e siga as regras de propiedade das cadeas devoltas.
A configuración de quen?
“CurrentUser” significa o contexto do chamador. Un servizo sen a suplantación axeitada pode ler a configuración da súa conta de servizo en lugar da do usuario de escritorio.
Escolla deliberadamente se o servizo usa a configuración administrada ou segue a configuración dun usuario autorizado, incluído o comportamento cando non existe ningún usuario interactivo. A xestión de tokens e a limpeza de recursos deben seguir as API de identidade admitidas.
Para o diagnóstico, manteña xuntos a conta de chamada, os campos de configuración, o destino, o resultado da resolución e o primeiro erro de conexión. Iso mostra en que etapa se produciu o valor baleiro ou a ruta fallida.