我想在访问站点时查看通信流程。
到目前为止,我使用的是 page.onResourceRequested 和 page.onResourceReceived。例子:
page.onResourceReceived = function(R) {
console.log(R.id+' '+R.status+' '+R.contentType+' '+R.redirectURL);
};
这起到了一种魅力。问题:看来我必须有能力下载某些文件(即查看响应正文,是图像还是 javascript 文件)。
原来 1.8.2 版没有这个功能,目前还不清楚 1.9 版是否会有。所以...... CasperJS 有“下载”方法。
但是将 PhantomJS 移植到 casperjs 变得很棘手。例如我可以使用:
casper.on("http.status.301", function(resource) {
this.echo(resource.url + " is permanently redirected", "PARAMETER");
});
来自 casperjs 的示例 events.js
这实际上是一个 phantomjs 响应......但我必须监控所有请求/响应
所以我试着做:
var casper = require("casper").create(
{
verbose: true,
logLevel: "debug",
exitOnError: error,
onResourceReceived: resRecv,
onResourceRequested: resReq,
}
);
有:函数 resRecv(R) {
console.log( R.id+' '+R.status+' '+R.contentType+' '+R.redirectURL);
}
哪个不起作用,因为 R 不是响应?如何获得与 'casper.on("http.status.301" ...' 中的参数相同的参数?
或者也许我错了,PhantomJS 毕竟可以下载文件?