Autenticación de proxy en Chrome CDP: manejar ambas rutas de eventos Fetch
Habilita las solicitudes de autenticación antes de la navegación, continúa las solicitudes pausadas ordinarias y responde solo al desafío Proxy previsto con una política de intentos acotada.
En la sesión CDP correspondiente, registra los controladores antes de la navegación y luego llama a Fetch.enable con estos parámetros:
{"handleAuthRequests": true}| Evento | Ruta de respuesta requerida |
|---|---|
| Fetch.requestPaused | continueRequest con ese requestId cuando el trabajo ordinario deba continuar |
| Fetch.authRequired | Inspecciona authChallenge y luego usa continueWithAuth con el requestId del evento de autenticación |
Para el intermediario reconocido, los parámetros de autenticación son:
{
"requestId": "REQUEST_ID_FROM_AUTH_EVENT",
"authChallengeResponse": {
"response": "ProvideCredentials",
"username": "PROXY_USERNAME",
"password": "PROXY_PASSWORD"
}
}Comprueba que authChallenge.source es Proxy y que su origen es el desafiante previsto antes de cargar la cuenta desde la fuente de credenciales. Un desafío Server sigue otra política de autenticación.
Registra los intentos permitidos por cada solicitud interceptada; un desafío rechazado repetidamente debe recibir CancelAuth, no otro envío sin fin. Borra el registro al completarse o cerrarse la sesión.
Si la página se cuelga, inspecciona también los eventos requestPaused sin resolver. El manejo de autenticación no los continúa automáticamente, y ninguna de las dos rutas de eventos selecciona la ruta de proxy del navegador.