2

サイトアクセス時の通信の流れを知りたい。

これまでは、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 はファイルをダウンロードできるのでしょうか?

4

3 に答える 3

0

しかし、タイプ 3** のリダイレクトしか取得できず、メタ タグのリダイレクトと JavaScript を介したリダイレクトを持つ Web ページは考慮されていないと思います。

于 2013-03-19T16:53:06.340 に答える