«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Почему PhantomJS не открывает страницы HTTPS и как это исправить?

Почему PhantomJS не открывает страницы HTTPS и как это исправить?

Опубликовано 8 ноября 2024 г.
Просматривать:364

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

В качестве альтернативы можно использовать «любой» протокол, который будет поддерживать любые новые протоколы SSL, доступные в будущих версиях PhantomJS. Однако это может привести к появлению уязвимостей на сайтах, на которых еще не отключен SSLv3.

casperjs --ssl-protocol=any yourScript.js

Проверка исправления

Чтобы убедиться, связана ли ошибка с SSLv3, добавьте следующий обработчик ошибок ресурса в свой скрипт:

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);
});

Если ошибка действительно связана с SSLv3, сообщение об ошибке будет выглядеть следующим образом:

Error code: 6. Description: SSL handshake failed

Дополнительно Option

При ошибках, связанных с сертификатом, рекомендуется использовать командную строку --ignore-ssl-errors=true вариант. При этом будут игнорироваться ошибки проверки сертификата SSL.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3