Heim >Web-Frontend >js-Tutorial >Wie kann ich mit CasperJS/PhantomJS auf HTTPS-Seiten zugreifen?
CasperJS/PhantomJS: Navigieren auf HTTPS-Seiten
CasperJS und PhantomJS unterliegen Einschränkungen beim Zugriff auf bestimmte Webseiten, einschließlich solcher, die mit HTTPS gesichert sind. Es stellt sich die Frage, ob die folgende Seite ein Problem darstellt: https://maizepages.umich.edu.
Behebung der SSLv3-Sicherheitslücke
Die Fehlermeldung „PhantomJS failed to open page status=fail“ weist auf ein potenzielles Problem mit SSLv3 hin. Bei den jüngsten Updates für PhantomJS (< v1.9.8) wurde die SSLv3-Unterstützung entfernt, was dazu führen kann, dass diese Browser keine Seiten laden, die nicht TLSv1-kompatibel sind. Um dieses Problem zu beheben, geben Sie das SSL-Protokoll explizit mit dem Flag --ssl-protocol an:
casperjs --ssl-protocol=tlsv1 yourScript.js
Für eine umfassendere Lösung verwenden Sie das Flag --ssl-protocol=any, das jedes verfügbare SSL-Protokoll unterstützt :
casperjs --ssl-protocol=any yourScript.js
Aktualisierung auf PhantomJS 1.9.8 oder höher
Alternativ löst ein Update auf PhantomJS 1.9.8 oder höher den SSLv3-Konflikt automatisch. Dieses Update führt jedoch einen neuen Fehler ein, der speziell CasperJS betrifft.
Überprüfen des Problems
Um zu bestätigen, ob die SSLv3-Schwachstelle Probleme verursacht, fügen Sie einen Ereignishandler „resource.error“ hinzu zu Ihrem 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 der Fehler „Fehlercode: 6. Beschreibung: SSL-Handshake fehlgeschlagen“ erscheint, weist dies auf ein SSLv3-Problem hin.
Zusätzliche Überlegungen
Bei Problemen mit SSL-Zertifikaten sollten Sie die Verwendung des Flags --ignore-ssl-errors=true in Betracht ziehen, um Zertifikatsprüfungen zu umgehen.
Das obige ist der detaillierte Inhalt vonWie kann ich mit CasperJS/PhantomJS auf HTTPS-Seiten zugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!