CasperJS / PhantomJS não carrega a página https

Eu sei que existem certas páginas web que o PhantomJS / CasperJS não pode abrir, e eu queria saber se esse era um deles: https://maizepages.umich.edu . CasperJS dá um erro: O PhantomJS falhou ao abrir o status da página = falha.

Eu tentei ignorar-ssl-erros e mudar meu agente de usuário, mas não sei como determinar quais usar.

Tudo o que estou fazendo agora é a configuração básica do casper com casper.start(url, function () { ... }) que url=https://maizepages.umich.edu ;

O problema pode estar relacionado à recente descoberta de uma vulnerabilidade SSLv3 (POODLE). Os proprietários de sites foram forçados a remover o suporte ao SSLv3 de seus sites. Como o PhantomJS

 casperjs --ssl-protocol=tlsv1 yourScript.js 

A solução mais comum seria usar any para quando as versões mais recentes do PhantomJS vierem junto com outros protocolos SSL. Mas isso tornaria a vulnerabilidade do POODLE explorável em sites que ainda não desativaram o SSLv3.

 casperjs --ssl-protocol=any yourScript.js 

Método alternativo: atualize para o PhantomJS 1.9.8 ou superior. Note que a atualização para o PhantomJS 1.9.8 leva a um novo bug , o que é especialmente irritante para o CasperJS.

Como verificar: Adicione um manipulador de events resource.error como este no início do 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 é realmente um problema com SSLv3 o erro será algo como:

Código de erro: 6. Descrição: falha no handshake SSL


Como um aparte, você também pode querer executar com a --ignore-ssl-errors=true linha de comando --ignore-ssl-errors=true , quando houver algo errado com o certificado.