"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > لماذا يفشل PhantomJS في فتح صفحات HTTPS وكيف يمكنني إصلاحه؟

لماذا يفشل PhantomJS في فتح صفحات HTTPS وكيف يمكنني إصلاحه؟

تم النشر بتاريخ 2024-11-08
تصفح:426

Why does PhantomJS fail to open HTTPS pages and how can I fix it?

أخطاء تحميل صفحة HTTPS في PhantomJS

يواجه PhantomJS/CasperJS صعوبات في فتح صفحات ويب معينة، بما في ذلك https://maizepages.umich.edu. عندما يحاول CasperJS تحميل هذه الصفحة، فإنه يُرجع الخطأ "فشل PhantomJS في فتح الصفحة الحالة = فشل."

تحديد السبب

لتحديد السبب الأساسي، من المفيد فحص سجلات الأخطاء. إحدى المشكلات الشائعة هي عدم وجود دعم لـ TLSv1. تستخدم إصدارات PhantomJS السابقة للإصدار 1.9.8 SSLv3 افتراضيًا، والذي تم تعطيله في العديد من مواقع الويب بسبب ثغرة POODLE.

الحل: دعم TLSv1

لمعالجة هذه المشكلة المشكلة، حدد TLSv1 كبروتوكول SSL باستخدام الأمر التالي:

casperjs --ssl-protocol=tlsv1 yourScript.js
casperjs --ssl-protocol=tlsv1 yourScript.js

casperjs --ssl-protocol=any yourScript.js
casperjs --ssl-protocol=any yourScript.js
التحقق من الإصلاح

لتأكيد ما إذا كان الخطأ مرتبطًا بـ SSLv3، أضف معالج أخطاء المورد التالي إلى البرنامج النصي الخاص بك:

casper.on("resource.error"، function(resourceError) { console.log("غير قادر على تحميل المورد (#" ResourceError.id 'URL:' ResourceError.url ')'); console.log('رمز الخطأ: 'resourceError.errorCode'. الوصف: 'resourceError.errorString); });
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);
});

رمز الخطأ: 6. الوصف: فشلت مصافحة SSL

Error code: 6. Description: SSL handshake failed
إضافية الخيار

بالنسبة للأخطاء المتعلقة بالشهادة، يوصى باستخدام خيار سطر الأوامر --ignore-ssl-errors=true. سيؤدي هذا إلى تجاهل أخطاء التحقق من شهادة SSL.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3