Apabila cuba memuatkan halaman HTTPS menggunakan PhantomJS/CasperJS, anda mungkin menghadapi ralat walaupun menetapkan "ignore-ssl-errors" dan mengubah suai ejen pengguna.
Isu ini mungkin berpunca daripada kerentanan SSLv3 (POODLE), yang mendorong pemilik tapak web untuk melumpuhkan sokongan SSLv3. Memandangkan versi terdahulu PhantomJS lalai kepada SSLv3, menukar kepada TLSv1 atau malah protokol SSL "mana-mana" menyelesaikan masalah:
casperjs --ssl-protocol=tlsv1 yourScript.js
casperjs --ssl-protocol=any yourScript.js
Sebagai alternatif, mengemas kini kepada PhantomJS 1.9.8 atau lebih baru menangani isu ini, walaupun ia memperkenalkan pepijat yang berasingan.
Untuk mengesahkan sama ada SSLv3 adalah puncanya, laksanakan pengendali acara "resource.error":
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 sepadan dengan "Kod ralat: 6. Penerangan : Jabat tangan SSL gagal," SSLv3 berkemungkinan penyebabnya.
Akhir sekali, pertimbangkan untuk menggunakan pilihan baris arahan "--ignore-ssl-errors=true" untuk mengendalikan isu sijil.
Atas ialah kandungan terperinci Mengapa PhantomJS Gagal Memuat Halaman HTTPS Walaupun \'ignore-ssl-errors\' dan Perubahan Ejen Pengguna?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!