检查网站是否使用javascript发出X http请求

时间:2012-01-07 02:03:48

标签: javascript http-headers xmlhttprequest greasemonkey userscripts

我一直在寻找一段时间,但我能找到的只是如何实际提出这些要求的例子......

我要做的是在点击X网站按钮后检查网站是否正在发出http请求

实施例。 http://test.s3.amazonaws.com/test/1.txt

我猜是有办法获取所有传出请求,然后过滤列表,但我甚至无法获得请求

到目前为止我所做的只是插入eventlistener来检查是否已经点击了X按钮,然后是我想要检查这些请求的时间。

<script language="javascript">
document.getElementById("button").addEventListener('click', buttonClicked, true);

function buttonClicked(){
    -->Check requests made after button is clicked.<--
}
</script>

1 个答案:

答案 0 :(得分:5)

我刚刚为此制作了一个基本脚本,基本上你只需要包装内置的XMLHttpRequest

(function() {
  'use strict';
  var oldXHR, stateChangeHandler, prop;

  oldXHR = window.XMLHttpRequest;

  stateChangeHandler = function (evt) {
    switch (this.readyState) {
      case oldXHR.OPENED:
        console.log('Request was made', this, evt);
        break;
      case oldXHR.DONE:
        console.log('Request finished', this, evt);
        break;
    }
  };

  function newXHR() {
    var xhr = new oldXHR();
    xhr.addEventListener('readystatechange', stateChangeHandler);
    return xhr;
  }

  // Copy original states and toString
  for (prop in oldXHR)
    newXHR[prop] = oldXHR[prop];

  window.XMLHttpRequest = newXHR;
})();