PhantomJS onResourceRequested 回调函数实例


发布日期 : 2022-10-30 15:55:30 UTC

访问量: 10 次浏览

PhantomJS onResourceRequested()

在页面请求资源时调用此函数。它有两个参数 requestDatanetworkRequest

RequestData 对象具有以下详细信息:

  • Id- 请求资源的编号。
  • Method- HTTP方法。
  • URL- 请求资源的URL。
  • Time- 包含请求时间的日期对象。
  • Headers- HTTP头的列表。

NetworkRequest 对象具有以下详细信息:

  • Abort()- 取消当前网络请求。取消当前网络请求将调用 onResourceError 回调函数。
  • ChangeUrl(newurl)- 使用此函数可以将请求的URL更改为新文件。
  • SetHeader- 它有 keyvalue

语法

onResourceRequested() 语法如下:

page.onResourceRequested = function(requestData, networkRequest) {}

范例

var wpage = require('webpage').create();
wpage.onResourceRequested = function(requestdata , networkdata) {
console.log("Data from requestdata:");
console.log(JSON.stringify(requestdata));
console.log("Data from networkdata");
console.log(JSON.stringify(networkdata));
}
wpage.open('http://localhost/tasks/request.html', function(status) {
});

上面的程序生成了以下输出

Data from requestdata:
{"headers":[{"name":"Accept","value":"text/html,application/xhtml+xml,
application/xml;q=0.9,*/*;q=0.8"},{"name":"User-Agent","value":"Mozilla/5.0
(Windows NT 6.2; WOW64) AppleWebKit/538.1 (KHTML, like Gecko)
PhantomJS/2.1.1 Safari/538.1"}], "id":1,"method":"GET","time":"2017-0507T13:25:36.454Z",
"url":"http://localhost/tasks/request.html"}
Data from networkdata
{"objectName":""}