4

しばらくの間、node-phantom モジュールで nodejs を使用しました。うまくいきました。今、別のマシンで試してみましたが、同じコード例が機能しません:

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 ファントム js バージョン: 1.9.1

何が問題なのかを確認するにはどうすればよいですか?

UPD:新しい Debian ディストリビューションをインストールすると、コンソールに次の警告が表示されることがあります。

警告 - クライアントがハンドシェイクされていない クライアントは再接続する必要があります

socket.io の問題のようです。

4

1 に答える 1