我使用 nodejs 和 node-phantom 模块有一段时间了。它工作得很好。现在我在另一台机器上尝试它,相同的代码示例不起作用:
var Scan=function(request,response)
{
var parsedURL=url.parse(request.url,true);
if(parsedURL.query.site)
{
console.log("scanning "+parsedURL.query.site);
phantom.create(function(err,ph) {
console.log(err);
return ph.createPage(function(err,page) {
console.log(err);
return page.open(parsedURL.query.site, function(err,status) {
console.log("opened site? ", status);
if (status=="fail") {
response.writeHead(404, {'Content-Type': 'text/plain'});
response.end('URL not found');
return;
}
var filename="temp.jpg';
console.log(filename);
page.render(filename,function(err){
if (err) {
console.log(err);
return;
}
page.close(function(){
response.writeHead(404, {'Content-Type': 'text/plain'});
response.end('URL not found');
});
});
console.log("opened site? ", status);
if (status=="fail") {
response.writeHead(404, {'Content-Type': 'text/plain'});
response.end('URL not found');
return;
}
var filename="temp.jpg';
console.log(filename);
page.render(filename,function(err){
if (err) {
console.log(err);
return;
}
page.close(function(){
response.writeHead(404, {'Content-Type': 'text/plain'});
response.end('URL not found');
});
});
});
});
});
}
}
它永远不会进入 createPage() 回调,看起来 nodejs 和 phantomjs 之间缺乏通信。nodejs 版本:0.10.10 phantomjs 版本:1.9.1
我怎样才能检查它有什么问题?
UPD:安装了新的 Debian 发行版,现在它有时会在控制台中引发以下警告。
警告 - 客户端未握手客户端应重新连接
它看起来像 socket.io 问题。