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

ajax劫持库ajaxHooker

  [复制链接]

该用户从未签到

0

主题

24

回帖

14

积分

助理工程师

积分
14
发表于 2023-2-6 10:05:54 | 显示全部楼层
李恒道 发表于 2023-2-6 10:01
请求都获取不全是指什么意思?
比如10个请求前两个抓不到
只能有后8个? ...

是的,有很多都获取不到,我也不明是为什么, 看上去都是 一样的
回复
订阅

使用道具 举报

该用户从未签到

0

主题

24

回帖

14

积分

助理工程师

积分
14
发表于 2023-2-6 10:10:16 | 显示全部楼层
李恒道 发表于 2023-2-6 10:01
请求都获取不全是指什么意思?
比如10个请求前两个抓不到
只能有后8个? ...
  1. 'use strict';
  2. let fetchHook={};
  3. let hook_fetch=window.fetch; //储存原始fetch
  4. window.fetch=function(...args){ //劫持fetch
  5.     //if(args[0].indexOf('https://inbound.tungee.com/service-tp-api/heartbeat/black-list')===0){
  6.         return hook_fetch(...args).then((oriRes)=>{
  7.             let hookRes =oriRes.clone() //克隆原始response
  8.             hookRes.text().then(res=>{ //读取克隆response
  9.                 console.log("RES",res)
  10.             })
  11.             return oriRes //返回原始response
  12.         })
  13.     //}
  14.     return hook_fetch(...args)
  15. }
复制代码


我现在用的window.fetch 但是检查不到全部的fetch,有很多需要的都没有检查到,而且后续按钮引发的fetch请求全部都被无视了,没有触发插件
回复

使用道具 举报

该用户从未签到

0

主题

24

回帖

14

积分

助理工程师

积分
14
发表于 2023-2-6 10:42:54 | 显示全部楼层
cxxjackie 发表于 2023-2-4 22:54
脚本站的问题,已经反馈了。急用的话可以将代码保存到本地,然后暂时require本地链接(格式:file:///D:/ ...

// @require      file:///C:/server/task/ajaxHooker.js  
这样写进去也不行  不知道我错在哪里了

报错是这样的
userscript.html?name=ajax%2520Hook%2520test.user.js&id=7407c2b3-2ba5-4763-84ab-6e2be8eff90e:2 @require: couldn't load @require from URL 'file:///C:/server/task/ajaxHooker.js': Access to this or all local files is forbidden!

Uncaught (in promise) ReferenceError: ajaxHooker is not defined
回复

使用道具 举报

  • TA的每日心情
    开心
    2023-2-28 23:59
  • 签到天数: 191 天

    [LV.7]常住居民III

    637

    主题

    5196

    回帖

    6078

    积分

    管理员

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

    积分
    6078

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

    发表于 2023-2-6 10:53:36 | 显示全部楼层
    908517142 发表于 2023-2-6 10:42
    // @require      file:///C:/server/task/ajaxHooker.js  
    这样写进去也不行  不知道我错在哪里了

    要先开启本地访问权限
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

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

    使用道具 举报

  • TA的每日心情
    开心
    2023-2-28 23:59
  • 签到天数: 191 天

    [LV.7]常住居民III

    637

    主题

    5196

    回帖

    6078

    积分

    管理员

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

    积分
    6078

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

    发表于 2023-2-6 10:54:27 | 显示全部楼层
    908517142 发表于 2023-2-6 10:10
    我现在用的window.fetch 但是检查不到全部的fetch,有很多需要的都没有检查到,而且后续按钮引发的fetc ...

    这种情况可能不太能指望通用库了
    可以对发送数据的那里下个断点
    看看到底为什么没法劫持
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

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

    使用道具 举报

    该用户从未签到

    0

    主题

    24

    回帖

    14

    积分

    助理工程师

    积分
    14
    发表于 2023-2-6 11:15:00 | 显示全部楼层
    李恒道 发表于 2023-2-6 10:54
    这种情况可能不太能指望通用库了
    可以对发送数据的那里下个断点
    看看到底为什么没法劫持 ...

    这种脚本要如何打断点呢,我平时做java开发的,油猴的插件似乎无法打断点运行
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    24

    回帖

    14

    积分

    助理工程师

    积分
    14
    发表于 2023-2-6 11:22:20 | 显示全部楼层
    李恒道 发表于 2023-2-6 10:53
    要先开启本地访问权限

    我将那个ajaxhooker的库的源代码复制后写到本地txt文件,再改名为.js文件,复制文件位置引入脚本,然后在插件中设置了允许访问文件网址,看到目标网站上的脚本 已经有红色数据标记,表示脚本运行了,但是还是提示这个ajaxHooker未定义,我是哪里搞错了吗
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2023-2-28 23:59
  • 签到天数: 191 天

    [LV.7]常住居民III

    637

    主题

    5196

    回帖

    6078

    积分

    管理员

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

    积分
    6078

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

    发表于 2023-2-6 11:33:13 | 显示全部楼层
    908517142 发表于 2023-2-6 11:15
    这种脚本要如何打断点呢,我平时做java开发的,油猴的插件似乎无法打断点运行 ...

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

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

    使用道具 举报

  • TA的每日心情
    开心
    2023-2-28 23:59
  • 签到天数: 191 天

    [LV.7]常住居民III

    637

    主题

    5196

    回帖

    6078

    积分

    管理员

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

    积分
    6078

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

    发表于 2023-2-6 11:34:04 | 显示全部楼层
    908517142 发表于 2023-2-6 11:22
    我将那个ajaxhooker的库的源代码复制后写到本地txt文件,再改名为.js文件,复制文件位置引入脚本,然后在 ...

    应该还是没引入成功
    看看报错以及对引入的文件设置一个console.llog输出
    十有八九是没有输出的
    红色标记表示脚本运行
    但是成功还是失败跟运行是没关联的
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

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

    使用道具 举报

    该用户从未签到

    0

    主题

    24

    回帖

    14

    积分

    助理工程师

    积分
    14
    发表于 2023-2-6 11:51:35 | 显示全部楼层
    李恒道 发表于 2023-2-6 11:34
    应该还是没引入成功
    看看报错以及对引入的文件设置一个console.llog输出
    十有八九是没有输出的
    1. // ==UserScript==
    2. // [url=home.php?mod=space&uid=23356]@name[/url]         ajax Hook test
    3. // @namespace    http://tampermonkey.net/
    4. // @version      0.1
    5. // @description  try to take over the world!
    6. // @author       You
    7. // [url=home.php?mod=space&uid=52134]@match[/url]        https://sales.tungee.com/*
    8. // @require      file:///C:/server/task/ajaxHooker.js
    9. // @grant        none
    10. // ==/UserScript==
    11. // @run-at       document-start

    12. ajaxHooker.hook(request => {
    13.     request.response = res => {
    14.         const responseText = res.responseText; // 注意保存原数据
    15.         console.log(responseText);
    16.     };
    17. });
    复制代码

    我代码事这样写的 ,怎么都引入不成功
    回复

    使用道具 举报

    发表回复

    本版积分规则

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