PhantomJS no puede abrir el sitio HTTPS
Estoy usando el siguiente código basado en el ejemplo de loadspeed.js para abrir un sitio https:// que también requiere autenticación del servidor http.
var page = require('webpage').create(), system = require('system'), t, address;
page.settings.userName = 'myusername';
page.settings.password = 'mypassword';
if (system.args.length === 1) {
console.log('Usage: scrape.js <some URL>');
phantom.exit();
} else {
t = Date.now();
address = system.args[1];
page.open(address, function (status) {
if (status !== 'success') {
console.log('FAIL to load the address');
} else {
t = Date.now() - t;
console.log('Page title is ' + page.evaluate(function () {
return document.title;
}));
console.log('Loading time ' + t + ' msec');
}
phantom.exit();
});
}
No se puede cargar la página todo el tiempo. ¿Qué podría estar mal aquí? ¿Los sitios seguros deben manejarse de manera diferente? Sin embargo, se puede acceder correctamente al sitio desde el navegador.
Estoy empezando con Phantom ahora mismo y lo encuentro demasiado bueno para dejar de jugar aunque no sigo adelante con este problema.
Probé las respuestas de Fred y Cameron Tinker, pero solo la opción --ssl-protocol=any parece ayudarme:
phantomjs --ssl-protocol=any test.js
También creo que debería ser mucho más seguro de usar --ssl-protocol=any
ya que todavía estás usando cifrado, pero --ignore-ssl-errors=true
ignorarás (duh) todos los errores de SSL, incluidos los maliciosos.
Lo más probable es que el problema se deba a errores del certificado SSL. Si inicia phantomjs con la opción --ignore-ssl-errors=yes , debería proceder a cargar la página como lo haría si no hubiera errores de SSL:
phantomjs --ignore-ssl-errors=yes [phantomOptions] script.js [scriptOptions]
He visto algunos sitios web que tienen problemas al implementar incorrectamente sus certificados SSL o han caducado, etc. Una lista completa de opciones de línea de comando para phantomjs está disponible aquí: http://phantomjs.org/api/command-line. HTML .