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

xhr/fetch劫持失败问题

[复制链接]

该用户从未签到

5

主题

21

回帖

42

积分

初级工程师

积分
42

新人报道油中3周年

发表于 2024-1-9 15:54:38 | 显示全部楼层 | 阅读模式
悬赏10油猫币未解决

本帖最后由 JML 于 2024-1-9 15:58 编辑

终于找到两个测试网站

  1. https://app.grammarly.com/
  2. https://www.kdocs.cn/l/cvz6BJpAdbHV

使用油猴脚本或者抓包工具修改响应数据都不成功,要么网页部分内容显示不全,要么网页显示网络链接失败
有大佬帮忙看看使用油猴脚本有实现劫持修改响应数据的可能吗?

  • TA的每日心情
    开心
    2023-6-5 00:59
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    9

    主题

    42

    回帖

    233

    积分

    管理员

    积分
    233

    管理员油中3周年

    发表于 2024-1-9 16:17:15 | 显示全部楼层
    给个失败的脚本例子
    回复

    使用道具 举报

    该用户从未签到

    5

    主题

    21

    回帖

    42

    积分

    初级工程师

    积分
    42

    新人报道油中3周年

    发表于 2024-1-9 21:21:17 | 显示全部楼层
    本帖最后由 JML 于 2024-1-9 21:23 编辑
    admin 发表于 2024-1-9 16:17
    给个失败的脚本例子
    1. // ==UserScript==
    2. // [url=home.php?mod=space&uid=23356]@name[/url]         测试
    3. // @namespace    no
    4. // @version      1.0
    5. // @description  测试
    6. // @author       1skiwen
    7. // [url=home.php?mod=space&uid=52134]@match[/url]        https://www.kdocs.cn/l/*
    8. // @match        https://www.kdocs.cn/view/l/*
    9. // @icon         https://v.flomoapp.com/favicon.ico
    10. // @run-at                   document-start
    11. // @grant        none
    12. // ==/UserScript==

    13. const origOpen = XMLHttpRequest.prototype.open;
    14. XMLHttpRequest.prototype.open = function () {
    15.   const xhr = this;
    16.   const getter = Object.getOwnPropertyDescriptor(
    17.     XMLHttpRequest.prototype,
    18.     "response"
    19.   ).get;
    20.   Object.defineProperty(xhr, "responseText", {
    21.     get: () => {
    22.       let result = getter.call(xhr);
    23.       if (arguments[1].includes('/metadata?with_link=true') || arguments[1].includes('/metadata?from=preview') || arguments[1].includes('/metadata?include=group') || arguments[1].includes('?review=true')) {
    24.         console.log("测试测试。");
    25.         let json = JSON.parse(result);
    26.         json.user_acl = { "comment": 1, "copy": 1, "delete": 1, "download": 1, "history": 1, "manage_perm": 1, "move": 1, "new_empty": 1, "read": 1, "rename": 1, "saveas": 1, "secret": 0, "share": 1, "update": 1, "upload": 1 };
    27.         result = JSON.stringify(json);
    28.       }
    29.       return result;
    30.     },
    31.   });
    32.   return origOpen.apply(xhr, arguments);
    33. };
    复制代码

    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2024-10-28 07:07
  • 签到天数: 193 天

    [LV.7]常住居民III

    712

    主题

    5966

    回帖

    6763

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    6763

    荣誉开发者喜迎中秋油中2周年生态建设者

    发表于 2024-1-9 21:46:21 | 显示全部楼层

    怎么才能触发xhr的请求
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
    回复

    使用道具 举报

    该用户从未签到

    5

    主题

    21

    回帖

    42

    积分

    初级工程师

    积分
    42

    新人报道油中3周年

    发表于 2024-1-9 21:53:52 | 显示全部楼层
    李恒道 发表于 2024-1-9 21:46
    怎么才能触发xhr的请求

    https://www.kdocs.cn/l/cvz6BJpAdbHV
    回复

    使用道具 举报

    该用户从未签到

    5

    主题

    21

    回帖

    42

    积分

    初级工程师

    积分
    42

    新人报道油中3周年

    发表于 2024-1-9 21:59:27 | 显示全部楼层
    本帖最后由 JML 于 2024-1-9 22:57 编辑
    李恒道 发表于 2024-1-9 21:46
    怎么才能触发xhr的请求

    ****64:
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2024-10-28 07:07
  • 签到天数: 193 天

    [LV.7]常住居民III

    712

    主题

    5966

    回帖

    6763

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    6763

    荣誉开发者喜迎中秋油中2周年生态建设者

    发表于 2024-1-10 01:33:16 | 显示全部楼层

    JML 发表于 2024-1-9 21:53

    https://www.kdocs.cn/l/cvz6BJpAdbHV

    貌似都正常执行了
    网页显示失败是指什么
    图片.png

    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
    回复

    使用道具 举报

    发表回复

    本版积分规则

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