吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2692|回复: 7
上一主题 下一主题
收起左侧

[求助] 油猴脚本怎么获取 ajax 请求结果

[复制链接]
头像被屏蔽
跳转到指定楼层
楼主
麦子1995 发表于 2022-7-29 11:34 回帖奖励
提示: 作者被禁止或删除 内容自动屏蔽

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

沙发
凹凸棒的悲伤 发表于 2022-7-29 11:54
.then(function(a){return a.json()}).then(function(b){
                        
                          console.log(b)

                      });
3#
steven026 发表于 2022-7-29 12:22
油猴元信息写// @run-at document-start,然后劫持ajax函数

以下是我的某个脚本里的示例,//@grant unsafeWindow环境,如果是//@grant none环境,把unsafeWindow替换成window
[JavaScript] 纯文本查看 复制代码
// @run-at       document-start
let fetchHook={};
let hook_fetch=unsafeWindow.fetch; //储存原始fetch
unsafeWindow.fetch=async function(...args){ //劫持fetch
    //console.log(...args);
    if(args[0]=="你要劫持的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)
}
头像被屏蔽
4#
 楼主| 麦子1995 发表于 2022-7-29 13:00 |楼主
头像被屏蔽
5#
 楼主| 麦子1995 发表于 2022-7-29 13:01 |楼主
提示: 作者被禁止或删除 内容自动屏蔽
6#
瞄帕斯 发表于 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 = [callback];
        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);
                    }
                }
            });
        });
})();


免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
eeeeeet + 1 + 1 这未免也太巧了,我刚准备写op作业接口,拿过来一看地址都不用改了

查看全部评分

7#
gujun0416 发表于 2022-7-29 14:59
感觉都是大佬,我是弟弟,努力学习。。。
头像被屏蔽
8#
 楼主| 麦子1995 发表于 2022-7-30 08:58 |楼主
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 09:16

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表