Phantomjs检查响应头然后执行某些操作

时间:2015-01-12 06:27:56

标签: javascript python ssl phantomjs

我有以下RequestURL.js文件。

var webPage = require('webpage');
var system = require('system');
var page = webPage.create();

page.customHeaders = {"pragma": "akamai-x-feo-trace"};
page.settings.userAgent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36"

if (system.args.length === 1) {
    console.log('Try to pass some args when invoking this script!');
} else {
    page.open(system.args[1], function (status) {
    var content = page.content;
    console.log(content);
    phantom.exit();
    });
}

现在我以phantomjs --ignore-ssl-errors=yes --ssl-protocol=any RequestURL.js #my_url_here > body.html

执行此操作

现在我有一个用python编写的解析器,它接受body.html并执行它。在此之前,我希望仅当响应包含以下标题时才生成页面源。

X-Akamai-FEO-State:TRANSFORMING

有没有办法修改我的RequestURL.js来实现目标。

1 个答案:

答案 0 :(得分:3)

预计在page.onLoadFinished的{​​{1}}回调之前会触发page.onResourceReceived

page.open()