URL de lancement Browserless : éviter le double encodage du paramètre launch
Utilisez l’interface launch du point de terminaison auto-hébergé ; externalProxyServer est une autre fonction du service hébergé.
const endpoint = new URL(browserlessWebSocketEndpoint);
endpoint.searchParams.set('token', browserlessToken);
endpoint.searchParams.set('launch', JSON.stringify({
args: ['--proxy-server=http://proxy.example:8080'],
}));
const browser = await puppeteer.connect({
browserWSEndpoint: endpoint.toString(),
});Utilisez le point de terminaison ws/wss et le jeton fournis pour le déploiement. L’hôte du navigateur doit pouvoir joindre le point d’écoute HTTP ; ce jeton authentifie la connexion de contrôle. Pour une navigation publique autorisée, un candidat de la liste de proxys HTTP peut renseigner l’option de lancement sans authentification.
JSON.stringify sérialise l’objet launch, puis URLSearchParams l’encode pour l’URL. Fournir à searchParams un texte déjà encodé avec encodeURIComponent encode à nouveau ses signes pour cent.
Cette option sans authentification ne transmet pas les identifiants Chromium composés d’un nom d’utilisateur et d’un mot de passe. Utilisez le traitement des demandes d’authentification pris en charge lorsque c’est nécessaire.
Une intégration externalProxyServer du service hébergé ne correspond pas à un champ du même nom dans l’objet launch de toutes les images auto-hébergées. Vérifiez le déploiement, la version d’image et l’API choisie avant de diagnostiquer le compte.