"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Por que o PhantomJS não consegue abrir páginas HTTPS e como posso corrigir isso?

Por que o PhantomJS não consegue abrir páginas HTTPS e como posso corrigir isso?

Publicado em 2024-11-08
Navegar:437

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

PhantomJS carregando erros de página HTTPS

PhantomJS/CasperJS encontram dificuldades para abrir certas páginas da web, incluindo https://maizepages.umich.edu. Quando CasperJS tenta carregar esta página, ele retorna o erro "PhantomJS falhou ao abrir a página status = falha."

Determinando a causa

Para identificar a causa subjacente, é útil inspecionar os logs de erros. Um problema comum é a falta de suporte para TLSv1. Versões PhantomJS anteriores a 1.9.8 usam SSLv3 por padrão, que foi desabilitado em muitos sites devido à vulnerabilidade POODLE.

Solução: Suporte TLSv1

Para resolver isso problema, especifique TLSv1 como o protocolo SSL usando o seguinte comando:

casperjs --ssl-protocol=tlsv1 yourScript.js

Alternativamente, o protocolo "qualquer" pode ser usado, que suportará quaisquer protocolos SSL mais recentes disponíveis em versões futuras do PhantomJS. No entanto, isso pode expor vulnerabilidades em sites que ainda não desativaram o SSLv3.

casperjs --ssl-protocol=any yourScript.js

Verificando a correção

Para confirmar se o erro está relacionado ao SSLv3, adicione o seguinte manipulador de erros de recurso ao seu script:

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

Se o erro for realmente relacionado ao SSLv3, a mensagem de erro será semelhante a:

Error code: 6. Description: SSL handshake failed

Adicional Opção

Para erros relacionados ao certificado, é recomendado usar a opção de linha de comando --ignore-ssl-errors=true. Isso ignorará erros de verificação de certificado SSL.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3