Dans la session CDP concernée, enregistrez les gestionnaires avant la navigation, puis appelez Fetch.enable avec ces paramètres :

{"handleAuthRequests": true}
ÉvénementChemin de réponse requis
Fetch.requestPausedcontinueRequest avec ce requestId lorsque le travail ordinaire doit se poursuivre
Fetch.authRequiredInspectez authChallenge, puis utilisez continueWithAuth avec le requestId de l'événement d'authentification

Pour l'intermédiaire reconnu, les paramètres d'authentification sont :

{
  "requestId": "REQUEST_ID_FROM_AUTH_EVENT",
  "authChallengeResponse": {
    "response": "ProvideCredentials",
    "username": "PROXY_USERNAME",
    "password": "PROXY_PASSWORD"
  }
}

Vérifiez que authChallenge.source vaut Proxy et que son origine est bien le provocateur prévu avant de charger le compte depuis la source d'identifiants. Un défi Server suit une autre politique d'authentification.

Suivez les tentatives autorisées par requête interceptée ; un défi rejeté de façon répétée doit recevoir CancelAuth, et non un nouvel envoi sans fin. Effacez le suivi à la fin ou à la fermeture de la session.

Si la page se bloque, inspectez aussi les événements requestPaused non résolus. La gestion de l'authentification ne les poursuit pas automatiquement, et aucun des deux chemins d'événements ne choisit la route proxy du navigateur.

Articles similaires