news 2026/4/17 2:12:17

使用LessPageEngineer实现某祥航空机票查询(t盾)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
使用LessPageEngineer实现某祥航空机票查询(t盾)
声明

本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!

1. 开启LPE服务

from LessPageEngineer.LessPageEngineeringCreator import LessPageEngineeringCreator less = LessPageEngineeringCreator({ 'TABS_NUM':1, # 标签页数量 'SERVER_DEFAULT_PORT':27889, # 标签页数量 'MAX_CHROME_TABS_NUM':5, # 最大标签页数量 'MAX_TAB_LIVE_TIME':300000, # 标签页最大存活时间 'MAX_CHROME_LIVE_TIME':300000, # 浏览器最大存活时间 'MAX_AFTER_REQUEST_SESSION_TIME':150, # 标签会话保存时间 'EXTENSION_PATHS':[], # 插件路径 'UPSTREAM':None, # 上游代理 'FETCH_LOG':3, }) less.run()

2. 发送请求,建立缓存文件并且获取key

# 脱敏处理 url = b64decode('aHR0cHM6Ly93d3cuanVuZXlhb2Fpci5jb20vZmxpZ2h0UXVlcnk/ZGVwQ2l0eT0lRTQlQjglOEElRTYlQjUlQjctU0hBJmRlcEFpcnBvcnQ9JmFyckNpdHk9JUU1JThDJTk3JUU0JUJBJUFDLUJKUyZhcnJBaXJwb3J0PSZkZXBEYXRlPTIwMjUtMTItMTcmYXJyRGF0ZT0yMDI1LTEyLTE4JnBhc3NUeXBlPSZyb3V0ZVR5cGU9T1c='.encode()).decode() api_url = 'http://127.0.0.1:27889/uploadUrl' def save_key(): key = None for _ in range(3): try: # 这里可能会失败一次,重试即可 api_response = requests.post(api_url, json={ 'timeout': 60, 'wait_urls': [ {'url': '**/queryFlightSimple', } # 等待以queryFlightSimple结尾的url ], # 禁止其他的网络请求和img和字体文件请求 优化速度 'disable_img_font': True, 'key_save': True, # 不返回html 优化速度 'html': False, 'url': url, # 清除cookies 防止cookies污染 'clear_cookies': True }, verify=False) key = api_response.json() assert key['status'] == 'success' key = key['key'] break except Exception as e: print(f"保存Key失败:{e}") return key

3. 访问http://127.0.0.1:{sever_port}/cache,修改缓存文件,将对应的函数方法暴露出来

3.1 先查看查询机票接口堆栈信息,找到方便传入参数以及合适断点的位置

通过分别查看这里的堆栈对应的js,可以看到有一处是比较理想的位置,这里只需要我们去修改n参数其中的值即可

先通过开发者工具本地替换下先测试下是否可行

暴露到全局后,修改下参数,调用下

通过开发者工具的抓包,可以看到有数据正确返回了,并且日期也是我们参数中修改的值

3.2 打开http://127.0.0.1:{port}/cache,找到对应的js链接,将刚刚在开发者工具中替换的文件拿去修改即可。记得保存

4. 构造请求,拦截请求参数,本地再次请求验证是否正确

可以看到是成功的

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/17 3:48:56

gridstack.js演进历程:从布局算法到设计哲学的深度解析

gridstack.js演进历程:从布局算法到设计哲学的深度解析 【免费下载链接】gridstack.js 项目地址: https://gitcode.com/gh_mirrors/gri/gridstack.js gridstack.js作为一款强大的网格布局库,通过其独特的拖放功能和响应式设计,彻底改…

作者头像 李华
网站建设 2026/4/16 2:06:59

AI如何帮你搞定Maven打包?maven-assembly-plugin实战解析

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个基于Spring Boot的Java项目,使用maven-assembly-plugin将所有依赖和资源打包成可执行zip文件。要求:1)包含src/main/resources下的所有配置文件 2)排…

作者头像 李华
网站建设 2026/4/16 19:57:22

效率提升300%:you-get结合AI的极速下载方案

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个高性能视频下载优化工具,基于you-get但显著提升效率。功能要点:1) 多线程并发下载 2) AI预解析加速(使用DeepSeek模型) 3) 智能缓存机制 4) 带宽优化…

作者头像 李华
网站建设 2026/4/14 10:50:24

AI如何帮你理解PostConstruct注解?

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个Java Spring Boot项目,演示PostConstruct注解的使用场景。要求:1. 包含一个服务类,使用PostConstruct初始化数据;2. 展示生命…

作者头像 李华
网站建设 2026/4/16 5:33:23

Groovy在企业级应用中的5个实战案例

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个展示Groovy典型应用场景的演示项目,包含以下模块:1) Jenkins Pipeline脚本示例 2) Grails Web应用基础框架 3) Spock测试框架示例 4) Groovy与Java互…

作者头像 李华
网站建设 2026/4/16 23:38:35

传统vs现代:二维数组处理效率对比实验

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 编写一个Python脚本,比较手动编写和AI生成的二维数组处理代码的效率。包括以下步骤:1. 生成一个大型二维数组;2. 手动编写代码进行转置和求和&am…

作者头像 李华