麦子1995 发表于 2022-7-29 11:34

凹凸棒的悲伤 发表于 2022-7-29 11:54

.then(function(a){return a.json()}).then(function(b){
                        
                        console.log(b)

                      });

steven026 发表于 2022-7-29 12:22

油猴元信息写// @run-at document-start,然后劫持ajax函数

以下是我的某个脚本里的示例,//@grant unsafeWindow环境,如果是//@grant none环境,把unsafeWindow替换成window
// @run-at       document-start
let fetchHook={};
let hook_fetch=unsafeWindow.fetch; //储存原始fetch
unsafeWindow.fetch=async function(...args){ //劫持fetch
    //console.log(...args);
    if(args=="你要劫持的URL"){
      return await hook_fetch(...args).then((oriRes)=>{
            let hookRes =oriRes.clone() //克隆原始response
            hookRes.text().then(res=>{ //读取克隆response
                //console.log("RES",res)
                fetchHook["劫持1"]=JSON.parse(res)
            })
            return oriRes //返回原始response
      })
    }
    return hook_fetch(...args)
}

麦子1995 发表于 2022-7-29 13:00

麦子1995 发表于 2022-7-29 13:01

瞄帕斯 发表于 2022-7-29 13:37

本帖最后由 瞄帕斯 于 2022-7-29 13:42 编辑

这个是我之前写油猴用的监听请求用的

[*]//监听RUL的

function addXMLRequestCallback(callback){
    var oldSend, i;
    if( XMLHttpRequest.callbacks ) {
      // we've already overridden send() so just add the callback
      XMLHttpRequest.callbacks.push( callback );
    } else {
      XMLHttpRequest.callbacks = ;
      oldSend = XMLHttpRequest.prototype.send;
      XMLHttpRequest.prototype.send = function(){
            for( i = 0; i < XMLHttpRequest.callbacks.length; i++ ) {
                XMLHttpRequest.callbacks( this );
            }
            oldSend.apply(this, arguments);
      }
    }
}
//加载脚本时就启动函数开始监听
(function() {
    'use strict';

    // Your code here...
    addXMLRequestCallback( function( xhr ) {
            xhr.addEventListener("load", function(){
            //判断页面加载状态的
                if ( xhr.readyState == 4 && xhr.status == 200 ) {
                     console.log(xhr.responseURL);
                  //判断是不是自己想要监听的URl地址字符串就是 你需要监听的地址
                  if ( xhr.responseURL.includes("homeworkapi.open.com.cn/getHomework") ) {
                        console.log(xhr.responseURL);
                  }
                }
            });
      });
})();


gujun0416 发表于 2022-7-29 14:59

感觉都是大佬,我是弟弟,努力学习。。。

麦子1995 发表于 2022-7-30 08:58

页: [1]
查看完整版本: 油猴脚本怎么获取 ajax 请求结果