Maison  >  Article  >  interface Web  >  Pourquoi PhantomJS ne parvient-il pas à charger les pages HTTPS malgré les « ignore-ssl-errors » et les modifications de l'agent utilisateur ?

Pourquoi PhantomJS ne parvient-il pas à charger les pages HTTPS malgré les « ignore-ssl-errors » et les modifications de l'agent utilisateur ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-26 01:38:28661parcourir

Why is PhantomJS Failing to Load HTTPS Pages Despite

PhantomJS a du mal avec les pages HTTPS

Lorsque vous essayez de charger une page HTTPS à l'aide de PhantomJS/CasperJS, vous pouvez rencontrer une erreur malgré la définition de « ignore-ssl-errors » et modification des agents utilisateurs.

Ce problème pourrait provenir de la vulnérabilité SSLv3 (POODLE), incitant les propriétaires de sites Web à désactiver la prise en charge de SSLv3. Étant donné que les versions antérieures de PhantomJS utilisent par défaut SSLv3, le passage à TLSv1 ou même à « n'importe quel » protocole SSL résout le problème :

casperjs --ssl-protocol=tlsv1 yourScript.js
casperjs --ssl-protocol=any yourScript.js

Alternativement, la mise à jour vers PhantomJS 1.9.8 ou version ultérieure résout le problème, bien que cela introduit un bug distinct.

Pour vérifier si SSLv3 est la cause, implémentez un gestionnaire d'événements "resource.error" :

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 correspond à "Code d'erreur : 6. Description : Échec de la négociation SSL", SSLv3 est probablement le coupable.

Enfin, pensez à utiliser l'option de ligne de commande "--ignore-ssl-errors=true" pour gérer les problèmes 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn