我的节点应用程序在我的vps(debian)上提供不同的输出然后在我的本地机器上(窗口)

时间:2014-09-25 14:09:29

标签: javascript jsdom

我有这段代码:

var jsdom = require('jsdom');

jsdom.env("http://sunwell.pl/index.php?id=ranking&t=2vs2&r=1",
          ['//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js'],
    function(error, window){
      if(error) {console.log(error); return;}

      var $ = window.$.bind(window);
      var _ladder = [];

      $("#rankingtable tr").each(function(i, v){  
        console.log('one more...');
        _ladder[i] = [];
        $(this).children('td').each(function(ii, vv){
          _ladder[i][ii] = $(this).text();
        });
      });

      console.log(_ladder);

      window.close();
    }
);

http://pastebin.com/eS4xyDrD

哪个好,在我的本地计算机(Windows)上工作得非常好,给予预期的更多......'文本几次,然后是完整的数组。

当我在我的VPS(板载debian)上运行它时会出现问题,它只输出一个空数组。我检查了是否我的服务器可能由于某些原因没有收回jquery对象或网站,但一切似乎都很好。我不知道如何解决这个问题,感谢任何帮助,我很确定这个问题是平庸的。

1 个答案:

答案 0 :(得分:0)

这可能是因为您遇到了Cloudflare Challenge页面。

尝试输出window.document.title,您应该在< title>中获得Attention Required! | CloudFlare。您需要找到解决验证码的方法,或让网站所有者将您的IP列入Cloudflare白名单。