永远的异乡人 发表于 2022-10-21 16:30:31

油猴脚本不能劫持页面上的所有fetch请求

油猴脚本代码如下,但是在指定页面中不能捕获到对应的fetch请求,请问我该如何获取到该fetch请求呢?
```
// ==UserScript==
// @name         xx 功能增强
// @namespace    http://tampermonkey.net/
// @version      0.1
// @descriptionxx 调试功能
// @author       You
// @match    https://xxx/main/biz_details/*/xx?defaultActiveKey=debug
// @icon         https://www.google.com/s2/favicons?sz=64
// @grant      unsafeWindow
// ==/UserScript==


(function () {
    console.log(window.unsafeWindow)

    const originFetch = fetch;
    console.log(originFetch);
    window.unsafeWindow.fetch = (url, options) => {
      console.log('外层捕获请求',url);
      return originFetch(url, options).then(async (response) => {
            console.log('内层捕获请求',url);
            if (url === 'https://xxx/v3/curlRtpQuery') {
                console.log('捕获链接',url);
                const responseClone = response.clone();
                let res = await responseClone.json();
                res.data.push('油猴脚本修改数据')
                const responseNew = new Response(JSON.stringify(res), response);
                return responseNew;
            } else {
                return response;

            }
      });
    };


    // Your code here...
})();
```
!(data/attachment/forum/202210/21/162902gmof2zbzmde4ydbz.png)
!(data/attachment/forum/202210/21/162951wue6jz69kkgcgje9.png)

李恒道 发表于 2022-10-21 16:30:32

docuemnt-start
注入没追上发送速度

王一之 发表于 2022-10-21 16:44:39

论坛搜一下有很多资料的,还有大佬封装好的库

ajaxHooker
https://scriptcat.org/script-show-page/637

ajax劫持库ajaxHooker
https://bbs.tampermonkey.net.cn/thread-3284-1-1.html
(出处: 油猴中文网)

永远的异乡人 发表于 2022-10-21 18:10:21

王一之 发表于 2022-10-21 16:44
论坛搜一下有很多资料的,还有大佬封装好的库

ajaxHooker


你好,该怎么使用这个库呢,我开头加入// @require https://scriptcat.org/lib/637/1.0.2/ajaxHooker.js 字段后,IDE显示ajaxHooker未定义。在我的页面启用脚本后,返回为空,并提示“无法获取 eden-config”。

永远的异乡人 发表于 2022-10-21 18:10:52

李恒道 发表于 2022-10-21 16:44
docuemnt-start
注入没追上发送速度

确实是这样的,加入后可以注入成功。

王一之 发表于 2022-10-21 19:43:09

永远的异乡人 发表于 2022-10-21 18:10
你好,该怎么使用这个库呢,我开头加入// @require https://scriptcat.org/lib/637/1.0.2/ajaxHooker.js...

ide是不会有提示的

“无法获取 eden-config”这个是网站问题吧

永远的异乡人 发表于 2022-10-21 21:03:28

王一之 发表于 2022-10-21 19:43
ide是不会有提示的

“无法获取 eden-config”这个是网站问题吧

请问有现成的例子可以用吗,我的老是出错{:4_110:}

王一之 发表于 2022-10-21 21:05:00

永远的异乡人 发表于 2022-10-21 21:03
请问有现成的例子可以用吗,我的老是出错

我没有哦 看看那个帖子吧

cxxjackie 发表于 2022-10-21 21:16:51

永远的异乡人 发表于 2022-10-21 18:10
你好,该怎么使用这个库呢,我开头加入// @require https://scriptcat.org/lib/637/1.0.2/ajaxHooker.js...

在代码前加一句:/* globals ajaxHooker */
其实不管也无所谓,只是es-lint的语法检查。eden-config应该不是这个库的问题。
页: [1]
查看完整版本: 油猴脚本不能劫持页面上的所有fetch请求