当加载一个页面时,PhantomJs使用几个TCP连接

我使用PhantomJs来抓取一些网站,发现它打开几个TCP连接时加载甚至一页。 例如,以下是我的try.js:

var args = require('system').args; var page = require('webpage').create(); var url = args[1]; page.open(url, function(status) { var title = page.evaluate(function() { return document.title; }); console.log('Page title is ' + title); //page.close(); }); 

我试过了

phantomjs try.js http://www.google.com

发现它使用了4个连接。 我知道调用“page.close()”将closures所有连接。 但是如果我使用很多幻影进程,这样的问题仍然会导致大量的并发连接。 这是否发生,因为PhantomJs不使用持久的HTTP? 任何解决scheme

这听起来很正常。

PhantomJS支持HTTP保持活动(持久HTTP连接),并默认启用它。 它可能只是每个服务器打开2(或更less)连接(因为它应该按照规范),这就是你所看到的。

要看到没有保持活力的情况,请尝试:

 page.customHeaders = { 'Connection': 'close' };