phantom node javascript ssl web-scraping phantomjs casperjs

javascript - phantom - node jsdom



CasperJS/PhantomJS no carga la página https (1)

El problema puede estar relacionado con el descubrimiento reciente de una vulnerabilidad SSLv3 (POODLE). Los propietarios de sitios web se vieron obligados a eliminar el soporte SSLv3 de sus sitios web. Dado que PhantomJS <v1.9.8 usa SSLv3 de default , debe usar TLSv1:

casperjs --ssl-protocol=tlsv1 yourScript.js

La solución general sería usar any para cuando las versiones más nuevas de PhantomJS vengan junto con otros protocolos SSL. Pero esto haría que la vulnerabilidad POODLE sea explotable en sitios que aún no han deshabilitado SSLv3.

casperjs --ssl-protocol=any yourScript.js

Método alternativo: Actualización a PhantomJS 1.9.8 o superior. Tenga en cuenta que actualizar a PhantomJS 1.9.8 conduce a un nuevo error , que es especialmente molesto para CasperJS.

Cómo verificar: agregue un controlador de eventos resource.error como este al comienzo de su 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); });

Si de hecho es un problema con SSLv3, el error será algo como:

Código de error: 6. Descripción: error en el protocolo de enlace SSL

Por otro lado, también es posible que desee ejecutar con la opción de línea de comandos --ignore-ssl-errors=true , cuando hay algo mal con el certificado.

Sé que hay ciertas páginas web que PhantomJS / CasperJS no pueden abrir, y me preguntaba si esta era una de ellas: https://maizepages.umich.edu . CasperJS da un error: PhantomJS no pudo abrir el estado de la página = falla.

Intenté ignorar los errores ssl y cambiar mi agente de usuario, pero no estoy seguro de cómo determinar cuáles usar.

Todo lo que estoy haciendo ahora es la configuración básica de casper con casper.start(url, function () { ... }) donde url=https://maizepages.umich.edu ;