Any idea why code below doesn't catch 404 in either response
var or in the http.status.404
event?
I run this with phantomjs 1.9, casperjs 1.0.2 and Windows 7
var casper = require("casper").create(),
utils = require('utils');
casper.start();
casper.thenOpen('http://www.google.com/sadfafsdgfsd', function(response) {
casper.capture('test.png');
utils.dump(response);
});
casper.on('http.status.404', function(resource) {
this.echo('wait, this url is 404: ' + resource.url);
});
casper.run(function() {
console.log('End');
casper.exit();
});
Ideally I like to catch 404 within thenOpen(). How to do that?
UPDATE 1:
I tried this
casper.thenOpen('http://www.google.com/sadfafsdgfsd', function(response) {
casper.capture('test.png');
utils.dump(response);
if(this.status(false)['currentHTTPStatus'] === 404) {
console.log('Error 404');
} else {
console.log('No Error 404');
}
});
And here is the output:
undefined
No Error 404
End
It still doesn't make sense.
UPDATE 2:
I tried 404checker.js here https://gist.github.com/n1k0/4509789
casperjs 404.js http://www.google.com/sadfafsdgfsd
Output:
URI.js loaded
Starting
http://www.google.com/sadfafsdgfsd
http://www.google.com/sadfafsdgfsd is okay (HTTP 200)
1 new links found on http://www.google.com/sadfafsdgfsd
All done, 1 links checked.
So what's going on!?