Rumah >hujung hadapan web >tutorial js >Mengapakah PhantomJS gagal membuka halaman HTTPS dan bagaimana saya boleh membetulkannya?
Ralat Halaman HTTPS Memuatkan PhantomJS
PhantomJS/CasperJS menghadapi kesukaran membuka halaman web tertentu, termasuk https://maizepages.umich.edu. Apabila CasperJS cuba memuatkan halaman ini, ia mengembalikan ralat "PhantomJS failed to open page status=fail."
Menentukan Punca
Untuk mengenal pasti punca asas, ia berguna untuk memeriksa log ralat. Satu isu biasa ialah kekurangan sokongan untuk TLSv1. Versi PhantomJS sebelum 1.9.8 menggunakan SSLv3 secara lalai, yang telah dilumpuhkan pada banyak tapak web disebabkan oleh kerentanan POODLE.
Penyelesaian: Sokongan TLSv1
Untuk menangani perkara ini isu, nyatakan TLSv1 sebagai protokol SSL menggunakan arahan berikut:
<code class="sh">casperjs --ssl-protocol=tlsv1 yourScript.js</code>
Secara bergantian, protokol "mana-mana" boleh digunakan, yang akan menyokong mana-mana protokol SSL lebih baharu yang tersedia dalam versi PhantomJS akan datang. Walau bagaimanapun, ini mungkin mendedahkan kelemahan pada tapak yang belum melumpuhkan SSLv3 lagi.
<code class="sh">casperjs --ssl-protocol=any yourScript.js</code>
Sahkan Pembetulan
Untuk mengesahkan sama ada ralat itu berkaitan dengan SSLv3, tambahkan pengendali ralat sumber berikut pada skrip anda:
<code class="sh">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); });</code>
Jika ralat itu sememangnya berkaitan SSLv3, mesej ralat akan menyerupai:
Error code: 6. Description: SSL handshake failed
Pilihan Tambahan
Untuk ralat berkaitan sijil, adalah disyorkan untuk menggunakan pilihan --ignore-ssl-errors=true baris arahan. Ini akan mengabaikan ralat pengesahan sijil SSL.
Atas ialah kandungan terperinci Mengapakah PhantomJS gagal membuka halaman HTTPS dan bagaimana saya boleh membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!