Responder a un desafío de proxy de WinHTTP no handle da solicitude
Use WinHttpSetCredentials co destino de autenticación do proxy e un esquema ofrecido compatible, e despois reintente a solicitude deliberadamente.
Despois de que unha solicitude de WinHTTP reciba 407, use WinHttpQueryAuthSchemes para inspeccionar os métodos ofrecidos e escoller un que admitan o cliente e a conta. Estableza as credenciais nesa solicitude:
WinHttpSetCredentials(
requestHandle,
WINHTTP_AUTH_TARGET_PROXY,
selectedScheme,
proxyUser,
proxyPassword,
nullptr);
O último argumento reservado debe ser null. Comprobe o resultado booleano e, se falla, GetLastError. O éxito significa que a API aceptou a configuración, non que o proxy aceptase o inicio de sesión.
Volva enviar mediante un fluxo de autenticación controlado e inspeccione a resposta. Limite os reintentos; un fluxo do corpo da solicitude xa consumido debe poder reproducirse se a operación se repite. Un 401 do destino usa WINHTTP_AUTH_TARGET_SERVER, distinto deste obxectivo de proxy.
Estas credenciais aplícanse a unha soa solicitude. WinHTTP non as converte nun almacén xeral de credenciais para solicitudes posteriores. As conexións autenticadas reutilizadas poden ocultar temporalmente outro desafío, polo que a aplicación debe seguir xestionando os desafíos futuros.
Manteña a selección de proxy á parte. Unha cadea de enderezo con credenciais non substitúe esta API de handle de solicitude, do mesmo xeito que chegar con éxito ao punto de conexión non completa a autenticación.