CasperJS/PhantomJS: Menavigasi Halaman HTTPS
CasperJS dan PhantomJS menghadapi had apabila mengakses halaman web tertentu, termasuk yang dilindungi dengan HTTPS. Timbul persoalan sama ada halaman berikut menimbulkan sebarang isu: https://maizepages.umich.edu.
Menangani Kerentanan SSLv3
Mesej ralat "PhantomJS gagal status halaman terbuka=gagal" menunjukkan kemungkinan isu dengan SSLv3. Kemas kini terkini kepada PhantomJS (< v1.9.8) telah mengalih keluar sokongan SSLv3, yang boleh menghalang penyemak imbas ini daripada memuatkan halaman yang tidak mematuhi TLSv1. Untuk menyelesaikan masalah ini, nyatakan protokol SSL secara eksplisit menggunakan bendera --ssl-protocol:
casperjs --ssl-protocol=tlsv1 yourScript.js
Untuk penyelesaian yang lebih menyeluruh, gunakan --ssl-protocol=any flag, yang menyokong mana-mana protokol SSL yang tersedia :
casperjs --ssl-protocol=any yourScript.js
Mengemas kini kepada PhantomJS 1.9.8 atau Lebih Tinggi
Sebagai alternatif, mengemas kini kepada PhantomJS 1.9.8 atau lebih baru akan menyelesaikan konflik SSLv3 secara automatik. Walau bagaimanapun, kemas kini ini memperkenalkan pepijat baharu yang menjejaskan CasperJS secara khusus.
Mengesahkan Isu
Untuk mengesahkan sama ada kerentanan SSLv3 menyebabkan masalah, tambahkan pengendali acara resource.error pada skrip anda:
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); });
Jika ralat "Kod ralat: 6. Perihalan: Jabat tangan SSL gagal" muncul, ini menunjukkan isu SSLv3.
Pertimbangan Tambahan
Untuk kes yang melibatkan isu sijil SSL, pertimbangkan untuk menggunakan bendera --ignore-ssl-errors=true untuk memintas semakan sijil.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses Halaman HTTPS dengan CasperJS/PhantomJS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!