上一主题 下一主题
ScriptCat,新一代的脚本管理器脚本站,与全世界分享你的用户脚本油猴脚本开发指南教程目录
返回列表 发新帖

为什么我不能截取到页面上所有的接口?

[复制链接]

该用户从未签到

1

主题

4

回帖

5

积分

助理工程师

积分
5
发表于 2024-4-15 11:18:31 | 显示全部楼层 | 阅读模式
悬赏20油猫币已解决

打算截取义乌购页面上的接口,但是发现有些接口能截取到有些却截取不到。下面是我截取请求的代码:

(function(open) {
      var activeRequests = 0;
        var reslist = [];
        XMLHttpRequest.prototype.open = function() {
            this.addEventListener("load", function() {
                // 在这里处理响应数据
               reslist.push(JSON.parse(this.responseText))
                activeRequests--;
                if (activeRequests === 0) {
                    // 所有请求已完成,执行后续操作
                    // 在这里放置你想要执行的代码
                    console.log("所有请求已完成",reslist);
                    // 使用reduce方法将所有对象合并到一个新对象中
                    // 使用自定义的mergeObjects函数进行深度合并
                    let mergedObject = mergeObjects(...reslist);
                    console.log("所有",mergedObject);
                }
            });

            open.apply(this, arguments);
            activeRequests++;
        };
    })(XMLHttpRequest.prototype.open);

最佳答案

查看完整内容

一样的道理 推荐哥哥用上面的库 ajaxHooker https://scriptcat.org/zh-CN/script-show-page/637
  • TA的每日心情
    开心
    3 小时前
  • 签到天数: 213 天

    [LV.7]常住居民III

    305

    主题

    4188

    回帖

    4055

    积分

    管理员

    积分
    4055

    管理员荣誉开发者油中2周年生态建设者喜迎中秋油中3周年挑战者 lv2

    发表于 2024-4-15 11:18:32 | 显示全部楼层
    勿忘草 发表于 2024-4-15 13:36
    感谢大佬的提醒,请问怎么截取fetch的请求?

    一样的道理

    推荐哥哥用上面的库

    ajaxHooker
    https://scriptcat.org/zh-CN/script-show-page/637
    上不慕古,下不肖俗。为疏为懒,不敢为狂。为拙为愚,不敢为恶。
    回复

    使用道具 举报

  • TA的每日心情
    开心
    3 小时前
  • 签到天数: 213 天

    [LV.7]常住居民III

    305

    主题

    4188

    回帖

    4055

    积分

    管理员

    积分
    4055

    管理员荣誉开发者油中2周年生态建设者喜迎中秋油中3周年挑战者 lv2

    发表于 2024-4-15 12:00:00 | 显示全部楼层
    哥哥可以试试这个库
    ajaxHooker
    https://scriptcat.org/zh-CN/script-show-page/637

    另外,是不是有的是fetch所以才没拦截到?
    上不慕古,下不肖俗。为疏为懒,不敢为狂。为拙为愚,不敢为恶。
    回复

    使用道具 举报

    该用户从未签到

    1

    主题

    4

    回帖

    5

    积分

    助理工程师

    积分
    5
    发表于 2024-4-15 13:36:20 | 显示全部楼层
    王一之 发表于 2024-4-15 12:00
    哥哥可以试试这个库
    ajaxHooker
    https://scriptcat.org//zh-CN/script-show-page/637

    感谢大佬的提醒,请问怎么截取fetch的请求?
    回复

    使用道具 举报

    该用户从未签到

    1

    主题

    4

    回帖

    5

    积分

    助理工程师

    积分
    5
    发表于 2024-4-15 13:54:01 | 显示全部楼层
    王一之 发表于 2024-4-15 13:37
    一样的道理

    推荐哥哥用上面的库

    好的谢谢大佬,截取是截取到了但是截取到的请求里咋没有请求返回的响应内容
    回复

    使用道具 举报

  • TA的每日心情
    开心
    3 小时前
  • 签到天数: 213 天

    [LV.7]常住居民III

    305

    主题

    4188

    回帖

    4055

    积分

    管理员

    积分
    4055

    管理员荣誉开发者油中2周年生态建设者喜迎中秋油中3周年挑战者 lv2

    发表于 2024-4-15 13:54:56 | 显示全部楼层
    勿忘草 发表于 2024-4-15 13:54
    好的谢谢大佬,截取是截取到了但是截取到的请求里咋没有请求返回的响应内容
    ...

    看看你的代码
    上不慕古,下不肖俗。为疏为懒,不敢为狂。为拙为愚,不敢为恶。
    回复

    使用道具 举报

    该用户从未签到

    1

    主题

    4

    回帖

    5

    积分

    助理工程师

    积分
    5
    发表于 2024-4-15 13:59:34 | 显示全部楼层

    // ==UserScript==
    // @name         测试
    // @version      0.1
    // @description  Intercept Fetch Requests
    // @author       You
    // @match        http://*/*
    // @match        https://*/*
    // @run-at      document-start
    // @grant       none
    // @require https://scriptcat.org/lib/637/1.3.4/ajaxHooker.js#sha256=fWw0ORFWJPYQXZqlv9oxxC96PK/oGwgVpiWCDaC3YPU=
    // ==/UserScript==

    (function() {
    ajaxHooker.hook(request => {
        console.log(request);
    });
    })();
    回复

    使用道具 举报

    该用户从未签到

    1

    主题

    4

    回帖

    5

    积分

    助理工程师

    积分
    5
    发表于 2024-4-15 14:07:15 | 显示全部楼层

    突然又能拿到了,真的是非常感谢大佬的帮助
    回复

    使用道具 举报

  • TA的每日心情
    开心
    3 小时前
  • 签到天数: 213 天

    [LV.7]常住居民III

    305

    主题

    4188

    回帖

    4055

    积分

    管理员

    积分
    4055

    管理员荣誉开发者油中2周年生态建设者喜迎中秋油中3周年挑战者 lv2

    发表于 2024-4-15 14:09:18 | 显示全部楼层
    勿忘草 发表于 2024-4-15 14:07
    突然又能拿到了,真的是非常感谢大佬的帮助

    好的,哥哥也可以看看这个库的文档,和帖子

    大部分问题应该都有说到的
    上不慕古,下不肖俗。为疏为懒,不敢为狂。为拙为愚,不敢为恶。
    回复

    使用道具 举报

    发表回复

    本版积分规则

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