サイトアクセス時の通信の流れを知りたい。
これまでは、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 はファイルをダウンロードできるのでしょうか?