精易论坛

标题: 飓风填表怎么抓固定接口的响应数据 [打印本页]

作者: qiushaodong    时间: 2025-1-22 17:41
标题: 飓风填表怎么抓固定接口的响应数据
TB的收藏夹https://h5api.m.taobao.com/h5/mtop.taobao.mercury.platform.collections.get/5.1/?jsv=2.7.2&appKey=34675810&t=1737536359556&sign=28672ac96ea478e08d5bfb283577d10e&api=mtop.taobao.mercury.platform.collections.get&v=5.1&preventFallback=true&type=jsonp&dataType=jsonp&callback=mtopjsonp11&data=%7B%22appName%22%3A%22favorite%22%2C%22pageSize%22%3A30%2C%22hasMore%22%3A%22true%22%2C%22itemType%22%3A1%2C%22platformCode%22%3A0%2C%22startRow%22%3A0%2C%22startTime%22%3A%220%22%2C%22isFilterInvalid%22%3Afalse%2C%22isLowPrice%22%3Afalse%2C%22frontCategoryId%22%3A0%2C%22categorySceneId%22%3A0%2C%22timeFiterCode%22%3A%220%22%2C%22lv1CategoryId%22%3A0%2C%22isFilterBigSale%22%3Afalse%2C%22isFilterNewArrival%22%3Afalse%2C%22isFilterPromotion%22%3Afalse%2C%22keyword%22%3A%22%22%2C%22isFilterLessStore%22%3Afalse%2C%22pageNum%22%3A0%2C%22isPurchased%22%3Afalse%2C%22categoryId%22%3A0%7D

不会sign算法,所以想用飓风填表搞定,求大神指点

作者: chenboss    时间: 2025-1-23 08:37
用Sunny抓包 https://esunny.vip/

  
子程序名返回值类型公开备 注
__启动窗口_创建完毕  
变量名类 型静态数组备 注
http回调函数整数型 
WebSocket回调函数整数型 
Tcp回调函数整数型 
错误信息文本型 
' Sunny中间件  在模块中已是全局变量,直接使用即可
Sunny中间件.绑定端口 (2022)
http回调函数 = 到整数 (&__示例__HTTP回调函数)
WebSocket回调函数 = 0
Tcp回调函数 = 0
Sunny中间件.绑定回调地址 (http回调函数, Tcp回调函数, WebSocket回调函数)
' Sunny中间件.设置IE代理 ()  ' 设置IE代理
' Sunny中间件.关闭IE代理 ()'取消IE代理
如果 (Sunny中间件.启动 ())
' 启动,如果 启动进程代理 启动失败 或者启动成功后捕获不到数据,请搭配Proxifier使用
如果真 (Sunny中间件.进程代理_加载驱动 ())
信息框 (“启动进程代理失败,请尝试使用管理员运行”, 0, , )
结束 ()

' 开始一个线程遍历进程
' 在遍历pid 子程序 设置相应PID,设置后,若是没有捕获到相应数据,不重启本程序,重启目标程序,后再试!
' 若是还不行,建议尝试进程名 <a href="http://esunny.vip/" target="_blank">http://esunny.vip/</a> 中的 [Sunny网络中间件-示例文档]->[(抓HTTP/HTTPS)指定进程名]
启动线程 (&遍历pid, , )
信息框 (“启动成功”, 0, , )
如果真 (Sunny中间件.安装证书 (错误信息))
信息框 (“自动安装证书到系统失败,请手动安装证书!”#换行符#换行符 + 错误信息, 0, “证书安装失败”, )

' 安装证书请阅读:<a href="http://esunny.vip/" target="_blank">http://esunny.vip/</a> 中的 [Sunny网络中间件-示例文档]->[(教程)安装证书]

信息框 (Sunny中间件.取错误 (), #错误图标, “启动失败”, )

子程序名返回值类型公开备 注
遍历pid  
变量名类 型静态数组备 注
Array进程信息0
index整数型 
已添加文本型 
' 开始死循环遍历
判断循环首 ()
' 获取进程列表
Array = 取系统进程列表 ()
' 遍历进程列表
计次循环首 (取数组成员数 (Array), index)
' 判断进程名 是否为需要拦截的进程名
' 到小写 避免大小写问题
如果真 (寻找文本 (到小写 (Array [index].进程名称), 到小写 (“qq.exe”), , ) ≠ -1)
' 判断之前有没有添加过
如果真 (寻找文本 (已添加, 到文本 (Array [index].进程标识符)#换行符, , ) = -1)
' 添加PID     进程标识符=pid
Sunny中间件.进程代理_添加Pid (Array [index].进程标识符)
' 设置标记 避免下次重复添加
已添加 = 已添加 + 到文本 (Array [index].进程标识符)#换行符


计次循环尾 ()
' 等1秒,继续遍历
延迟 (1000)
判断循环尾 ()
子程序名返回值类型公开备 注
__示例__HTTP回调函数  
参数名类 型参考可空数组备 注
SunnyContext整数型Sunny中间件可创建多个 由这个参数判断是哪个Sunny回调过来的
请求唯一ID整数型
MessageId整数型
消息类型整数型#Sunny_消息类型_
请求方法文本型
请求地址文本型
err文本型
pid整数型进程PID 若等于0 表示通过代理远程请求 无进程PID
变量名类 型静态数组备 注
sunnySunny 
bin字节集 
' 必须使用该语句取回sunny对象
sunny = MessageIdToSunny (MessageId)
调试输出 (请求地址)
' 执行流程是 发起请求->请求完成/请求失败
判断 (消息类型 = #Sunny_消息类型_发起请求 )  ' 发起请求 http/https请求    ' 【sunny.请求】 可 在 【发起请求、请求完成、请求失败】 中使用
调试输出 (“消息ID”, 请求唯一ID, “开始请求”, “URL”, 请求地址)
' 修改提交数据
如果真 (请求方法 = “POST”)
bin = sunny.请求.取POST数据_字节集 ()
bin = 子字节集替换 (bin, 到字节集 (“SunnyNet”), 到字节集 (“Hello Sunny”), , )
sunny.请求.修改Body_字节集 (bin)

' 对这个请求设置代理
如果真 (寻找文本 (请求地址, “ip138.com”, , ) ≠ -1)
' ' 设置HTTP代理 admin=账号 123456=密码 127.0.0.1:8888=上游代理
' sunny.请求.置代理 (“<a href="http://admin:[email protected]:8888" target="_blank">http://admin:[email protected]:8888</a>”)
' ' 没有账号
' sunny.请求.置代理 (“<a href="http://:@127.0.0.1:8888" target="_blank">http://:@127.0.0.1:8888</a>”)
' ' 或者
' sunny.请求.置代理 (“<a href="http://127.0.0.1:8888" target="_blank">http://127.0.0.1:8888</a>”)
' ' 设置Socket5代理 admin=账号 123456=密码 127.0.0.1:8888=上游代理
' sunny.请求.置代理 (“socket5://admin:[email protected]:8888”)
' ' 没有账号
' sunny.请求.置代理 (“socket5://:@127.0.0.1:8888”)
' ' 或者
' sunny.请求.置代理 (“socket5://127.0.0.1:8888”)

' 直接回复文件【2022/03/02新增】
' sunny.响应.修改或新增协议头 (“Content-Type: text/html” + #换行符 + “Server: Sunny”)
' sunny.响应.修改响应内容_字节集 (读入文件 (“C:\Users\qinka\Desktop\node.js”))
' 返回 ()
' 请注意  在【发起请求】中修改响应数据为 直接回复文件
' 将 不会执行【请求完成】【请求失败】
' 设置数据不需要指定文件长度,内部自动计算
' sunny.请求.终止发送() '使用后 这个请求将不会发送出去 2022-09-16 新增【只能在 发起请求 中使用】
' sunny.请求.置请求超时 (15 × 1000)  ' 对这个请求设置15秒的超时时间

判断 (消息类型 = #Sunny_消息类型_请求完成 )  ' 服务器返回数据
' 修改响应请求
如果真 (寻找文本 (请求地址, “game/map_info”, , ) ≠ -1)
bin = sunny.响应.取响应Body ()
bin = 子字节集替换 (bin, 到字节集 (“你好”), 到字节集 (“哈喽”), , )
sunny.响应.修改响应内容_字节集 (bin)
' 【sunny.响应】  仅可在 【请求完成】 中使用  在【发起请求、请求失败 中操作响应对象,只能操作设置数据】
调试输出 (“消息ID”, 请求唯一ID, “请求完成”, sunny.响应.取正文长度 (), “URL”, 请求地址)
判断 (消息类型 = #Sunny_消息类型_请求失败 )  ' http/https请求 请求失败
' 返回数据【2023/01/06新增】
' sunny.响应.修改状态码 (200)'不设置默认就是200
' sunny.响应.修改或新增协议头 (“Content-Type: text/html” + #换行符 + “Server: Sunny”)
' sunny.响应.修改响应内容_字节集 (读入文件 (“C:\Users\qinka\Desktop\node.js”))
调试输出 (“消息ID”, 请求唯一ID, “URL”, 请求地址, “请求失败:” + err)




返回 ()


i支持库列表   支持库注释   
spec特殊功能支持库





欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4