Pertanyaan SlimerJS mengabaikan kesalahan SSL


Saya cukup jauh di jalan menggabungkan SlimerJS ke pencakar web saya dan saya menemukan masalah. Satu situs yang saya kerjakan baru saja sertifikat SSL mereka menjadi tidak valid. Setelah melihat Dokumentasi SSL Slimer, tampaknya mereka tidak mendukung PhantomJS ignore-ssl-errors pilihan. Apakah ada jalan untuk ini? Halaman kesalahan sertifikat SSL yang muncul di browser tidak memiliki jenis apa pun continue tombol yang saya dapat membuat klik Slimer. Sebagai FYI, saya menggunakan CasperJS sebagai pembungkus untuk SlimerJS.


5
2017-12-17 02:48


asal


Jawaban:


Saya entri blog (ditempelkan di bawah) menjelaskan bagaimana (dan ini menunjukkan instruksi Casper juga):


SlimerJS (per 0,8,3) tidak memiliki opsi baris perintah PhantomJS untuk mengatakan "bersantai tentang sertifikat buruk". Sayangnya sertifikat SSL yang ditandatangani sendiri, yang biasanya digunakan pengembang selama pengembangan, dianggap sebagai sertifikat yang buruk.

Berikut ini langkah-langkah yang diperlukan untuk menangani ini:

  1. slimerjs --createprofile AllowSSL Catat direktori yang telah dibuatnya. (Anda dapat memanggil apa pun profil baru Anda, "AllowSSL" hanya sebagai contoh.)

  2. Buka desktop normal Firefox, jelajahi ke URL yang bermasalah, lihat keluhan, tambahkan sebagai pengecualian keamanan. Kemungkinannya adalah, jika Anda sudah menguji situs web Anda, bahwa Anda telah melakukan ini dan Anda dapat melewati langkah ini.

  3. Buka profil Firefox Anda, dan cari file bernama "cert_override.txt". Salin ke direktori yang Anda buat pada langkah 1.

  4. Lihatlah salinan yang baru saja Anda buat dari "cert_override.txt". Jika hanya memiliki entri yang Anda tambahkan pada langkah 2, Anda selesai. Jika tidak, hapus entri yang tidak Anda inginkan. (Format file mudah: satu sertifikat per baris.)

  5. Sekarang ketika Anda perlu menjalankan slimerjs Anda harus menjalankannya dengan parameter commandline "-P AllowSSL". Misalnya. slimerjs -P AllowSSL httpstest.js

    Jika Anda menggunakan SlimerJS dengan CasperJS (memerlukan CasperJS 1.1 atau lebih baru), lakukan hal yang sama, mis.

    casperjs test --engine=slimerjs -P AllowSSL tests_involving_https.js
    

Gagasan Pemecahan Masalah

Menggunakan export SLIMERJSLAUNCHER=/usr/bin/firefox untuk memiliki SlimerJS menggunakan salinan lokal Firefox Anda, bukan mesin Gecko internal. Ini pasti akan berfungsi, karena pada langkah 2 di atas Anda menambahkan pengecualian keamanan ke versi Firefox itu. (Sisa dari instruksi di atas hanya untuk membuatnya bekerja dengan mesin Gecko internal yang datang dengan SlimerJS.)


7
2017-12-17 05:19