„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Warum kann PhantomJS keine HTTPS-Seiten öffnen und wie kann ich das Problem beheben?

Warum kann PhantomJS keine HTTPS-Seiten öffnen und wie kann ich das Problem beheben?

Veröffentlicht am 08.11.2024
Durchsuche:774

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

PhantomJS lädt HTTPS-Seitenfehler

PhantomJS/CasperJS haben Schwierigkeiten beim Öffnen bestimmter Webseiten, einschließlich https://maizepages.umich.edu. Wenn CasperJS versucht, diese Seite zu laden, gibt es den Fehler „PhantomJS konnte den Seitenstatus nicht öffnen“ zurück.

Bestimmen der Ursache

Um die zugrunde liegende Ursache zu identifizieren, Es ist hilfreich, die Fehlerprotokolle zu überprüfen. Ein häufiges Problem ist die mangelnde Unterstützung für TLSv1. PhantomJS-Versionen vor 1.9.8 verwenden standardmäßig SSLv3, das auf vielen Websites aufgrund der POODLE-Schwachstelle deaktiviert wurde.

Lösung: TLSv1-Unterstützung

Um dieses Problem zu beheben Geben Sie bei diesem Problem TLSv1 als SSL-Protokoll mit dem folgenden Befehl an:

casperjs --ssl-protocol=tlsv1 yourScript.js

Alternativ kann das „beliebige“ Protokoll verwendet werden, Dies unterstützt alle neueren SSL-Protokolle, die in zukünftigen PhantomJS-Versionen verfügbar sind. Dies kann jedoch Schwachstellen auf Websites aufdecken, die SSLv3 noch nicht deaktiviert haben.

casperjs --ssl-protocol=any yourScript.js

Überprüfen des Fixes

Um zu bestätigen, ob der Fehler mit SSLv3 zusammenhängt, fügen Sie Ihrem Skript den folgenden Ressourcenfehlerhandler hinzu:

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);
});

Wenn der Fehler tatsächlich mit SSLv3 zusammenhängt, sieht die Fehlermeldung wie folgt aus:

Error code: 6. Description: SSL handshake failed

Zusätzlich Option

Bei zertifikatbezogenen Fehlern wird empfohlen, die Befehlszeilenoption --ignore-ssl-errors=true zu verwenden. Dadurch werden SSL-Zertifikatsüberprüfungsfehler ignoriert.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3