Maison > interface Web > js tutoriel > le corps du texte

Pourquoi PhantomJS ne parvient-il pas à ouvrir les pages HTTPS et comment puis-je y remédier ?

Linda Hamilton
Libérer: 2024-10-26 15:05:31
original
508 Les gens l'ont consulté

Why does PhantomJS fail to open HTTPS pages and how can I fix it?

Erreurs de page HTTPS de chargement de PhantomJS

PhantomJS/CasperJS rencontrent des difficultés à ouvrir certaines pages Web, notamment https://maizepages.umich.edu. Lorsque CasperJS tente de charger cette page, il renvoie l'erreur "PhantomJS n'a pas réussi à ouvrir la page status=fail."

Détermination de la cause

Pour identifier la cause sous-jacente, il est utile d'inspecter les journaux d'erreurs. Un problème courant est le manque de prise en charge de TLSv1. Les versions de PhantomJS antérieures à 1.9.8 utilisent SSLv3 par défaut, qui a été désactivé sur de nombreux sites Web en raison de la vulnérabilité POODLE.

Solution : prise en charge de TLSv1

Pour résoudre ce problème problème, spécifiez TLSv1 comme protocole SSL à l'aide de la commande suivante :

<code class="sh">casperjs --ssl-protocol=tlsv1 yourScript.js</code>
Copier après la connexion

Alternativement, le protocole "any" peut être utilisé, qui prendra en charge tous les protocoles SSL plus récents disponibles dans les futures versions de PhantomJS. Cependant, cela peut exposer des vulnérabilités sur les sites qui n'ont pas encore désactivé SSLv3.

<code class="sh">casperjs --ssl-protocol=any yourScript.js</code>
Copier après la connexion

Vérification du correctif

Pour confirmer si l'erreur est liée à SSLv3, ajoutez le gestionnaire d'erreur de ressource suivant à votre script :

<code class="sh">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);
});</code>
Copier après la connexion

Si l'erreur est effectivement liée à SSLv3, le message d'erreur ressemblera à :

Error code: 6. Description: SSL handshake failed
Copier après la connexion

Option supplémentaire

Pour les erreurs liées au certificat, il est recommandé d'utiliser l'option de ligne de commande --ignore-ssl-errors=true. Cela ignorera les erreurs de vérification du certificat SSL.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!