node-horseman: Phantom Process died

I have met a problem:

Unhandled rejection HeadlessError: Phantom Process died
    at ClientRequest.<anonymous> (/Users/zhuyingda/nodejs/veneno/node_modules/node-phantom-simple/node-phantom-simple.js:655:12)
    at emitOne (events.js:77:13)
    at ClientRequest.emit (events.js:169:7)
    at Socket.socketOnEnd (_http_client.js:288:9)
    at emitNone (events.js:72:20)
    at Socket.emit (events.js:166:7)
    at endReadableNT (_stream_readable.js:905:12)
    at doNTCallback2 (node.js:441:9)
    at process._tickCallback (node.js:355:17)

I just run this code:

var Horseman = require('node-horseman');
var horseman = new Horseman();
horseman
    .userAgent("Mozilla/5.2 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0")
    .on('resourceRequested', function (requestData, networkRequest) {
        if(!/[png|jpg|js|css]$/.test(requestData.url)){
            console.log(requestData.url);
        }
    })
    .open('http://www.zhuyingda.com')
    .log() // prints out the number of results
    .close();

I am sure that my network is fine and I can connect this website in my browser. If I open charles or other vpn program, the problem would be fixed. I wanna know why?

About this issue

  • Original URL
  • State: closed
  • Created 8 years ago
  • Comments: 27 (4 by maintainers)

Most upvoted comments

So after trying all the fixes listed above and testing several horseman functions I’ve been able to resolve this issue by removing all calls to horseman.close() from my code. Not sure what the implications of doing this would be if my app was running for a long time (memory leaks, etc).

Hopefully this helps shed some light on what’s happening here.