Responder a un desafío de proxy de WinHTTP en el identificador de la solicitud
Use WinHttpSetCredentials con el destino de autenticación del proxy y un esquema ofrecido compatible, y luego reintente la solicitud deliberadamente.
Después de que una solicitud de WinHTTP reciba 407, use WinHttpQueryAuthSchemes para inspeccionar los métodos ofrecidos y elegir uno que admitan el cliente y la cuenta. Establezca las credenciales en esa solicitud:
WinHttpSetCredentials(
requestHandle,
WINHTTP_AUTH_TARGET_PROXY,
selectedScheme,
proxyUser,
proxyPassword,
nullptr);
El último argumento reservado debe ser null. Compruebe el resultado booleano y, si falla, GetLastError. El éxito significa que la API aceptó la configuración, no que el proxy aceptara el inicio de sesión.
Vuelva a enviar mediante un flujo de autenticación controlado e inspeccione la respuesta. Limite los reintentos; un flujo del cuerpo de la solicitud ya consumido debe poder reproducirse si la operación se repite. Un 401 del destino usa WINHTTP_AUTH_TARGET_SERVER, distinto de este objetivo de proxy.
Estas credenciales se aplican a una sola solicitud. WinHTTP no las convierte en un almacén general de credenciales para solicitudes posteriores. Las conexiones autenticadas reutilizadas pueden ocultar temporalmente otro desafío, así que la aplicación debe seguir gestionando los desafíos futuros.
Mantenga la selección de proxy por separado. Una cadena de dirección con credenciales no sustituye a esta API de identificador de solicitud, igual que alcanzar con éxito el punto de conexión no completa la autenticación.