Heim > Artikel > Web-Frontend > Wie überwindet man HTTPS-Seitenladeprobleme mit PhantomJS/CasperJS?
PhantomJS/CasperJS hat Probleme mit dem Laden der HTTPS-Seite
Beim Versuch, eine sichere HTTPS-Seite mit PhantomJS/CasperJS zu laden, kann der Fehler bei Benutzern auftreten „PhantomJS konnte die Seite nicht öffnen. Status=Fehler.“ Die Behebung dieses Problems erfordert eine spezifische Strategie zur Behebung von SSLv3-Schwachstellen.
Fehleranalyse
Die jüngsten Entdeckungen der POODLE SSLv3-Schwachstelle haben Websitebesitzer dazu veranlasst, die SSLv3-Unterstützung auf ihren Websites zu deaktivieren . Da PhantomJS-Versionen vor 1.9.8 jedoch standardmäßig SSLv3 verwenden, kann der Zugriff auf solche Websites zu Ladefehlern führen.
Lösung
Um dieses Problem zu beheben, geben Sie an Verwendung des TLSv1-Protokolls beim Aufruf von PhantomJS:
casperjs --ssl-protocol=tlsv1 yourScript.js
Für eine umfassendere Lösung, die zukünftige PhantomJS-Versionen mit unterschiedlichen SSL-Protokollen unterstützen kann, verwenden Sie Folgendes:
casperjs --ssl-protocol=any yourScript.js
Alternative Vorgehensweise
Alternativ können Sie auf PhantomJS 1.9.8 oder höher aktualisieren, um SSLv3-Schwachstellenprobleme zu vermeiden. Dies kann jedoch zu einem anderen Fehler führen, der CasperJS betrifft.
Überprüfung
Um zu überprüfen, ob SSLv3 das zugrunde liegende Problem ist, implementieren Sie einen Ereignishandler „resource.error“ in Ihrem CasperJS Skript:
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 die angezeigte Fehlermeldung „Fehlercode: 6. Beschreibung: SSL-Handshake fehlgeschlagen“ enthält, handelt es sich wahrscheinlich um ein SSLv3-Problem.
Zusätzlicher Tipp
Bei zertifikatbezogenen Fehlern sollten Sie die Verwendung der Befehlszeilenoption --ignore-ssl-errors=true in Betracht ziehen.
Das obige ist der detaillierte Inhalt vonWie überwindet man HTTPS-Seitenladeprobleme mit PhantomJS/CasperJS?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!