在PhantomJS上阻止请求

时间:2015-12-14 00:14:17

标签: javascript request phantomjs

假设我在PhantomJS脚本上有page.onResourceRequested(request)函数。如何根据请求中的某些值阻止请求?

1 个答案:

答案 0 :(得分:3)

哦,我刚想通了。 onResourceRequest可以带两个参数,第一个是requestData,第二个是networkRequest,它允许对请求进行操作。

  

来自PhantomJS API documentation:

     

当页面请求资源时,将调用此回调。回调的第一个参数是requestData元数据对象。第二个参数是networkRequest对象本身。

     

networkRequest对象包含以下功能:

     

abort():中止当前网络请求。中止当前网络请求将调用onResourceError回调。

     

changeUrl(newUrl):更改网络请求的当前URL。通过调用networkRequest.changeUrl(newUrl),我们可以将请求URL更改为新的url。这是提供远程资源替代实现的唯一方法。 (见例-2)

     

setHeader(key,value)