Maison >interface Web >js tutoriel >Comment puis-je accéder aux pages HTTPS avec CasperJS/PhantomJS ?
CasperJS/PhantomJS : navigation dans les pages HTTPS
CasperJS et PhantomJS sont confrontés à des limitations lors de l'accès à certaines pages Web, y compris celles sécurisées par HTTPS. La question se pose de savoir si la page suivante pose un problème : https://maizepages.umich.edu.
Résolution de la vulnérabilité SSLv3
Le message d'erreur "PhantomJS n'a pas réussi à open page status=fail" indique un problème potentiel avec SSLv3. Les mises à jour récentes de PhantomJS (< v1.9.8) ont supprimé la prise en charge de SSLv3, ce qui peut empêcher ces navigateurs de charger des pages non conformes à TLSv1. Pour résoudre ce problème, spécifiez explicitement le protocole SSL à l'aide de l'indicateur --ssl-protocol :
casperjs --ssl-protocol=tlsv1 yourScript.js
Pour une solution plus complète, utilisez l'indicateur --ssl-protocol=any, qui prend en charge n'importe quel protocole SSL disponible. :
casperjs --ssl-protocol=any yourScript.js
Mise à jour vers PhantomJS 1.9.8 ou version ultérieure
Alternativement, la mise à jour vers PhantomJS 1.9.8 ou version ultérieure résoudra automatiquement le conflit SSLv3. Cependant, cette mise à jour introduit un nouveau bug affectant spécifiquement CasperJS.
Vérification du problème
Pour confirmer si la vulnérabilité SSLv3 pose des problèmes, ajoutez un gestionnaire d'événements resource.error à votre script :
casper.on("resource.error", function(resourceError){ console.log('Unable to load resource (#' + resourceError.id + ' URL:' + resourceError.url + ')'); console.log('Error code: ' + resourceError.errorCode + '. Description: ' + resourceError.errorString); });
Si l'erreur « Code d'erreur : 6. Description : Échec de la négociation SSL » apparaît, cela indique un problème SSLv3.
Considérations supplémentaires
Pour les cas impliquant des problèmes de certificat SSL, envisagez d'utiliser l'indicateur --ignore-ssl-errors=true pour contourner les vérifications de certificat.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!