news 2026/5/6 14:07:26

ads-tracker-baidu分析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ads-tracker-baidu分析

声明
本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包 内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!侵权通过头像私信或名字简介叫我删除博客谢谢。
部分python代码

import asyncio

import execjs
import websockets
import json
import ssl
import time
from datetime import datetime
from Crypto.Cipher import AES
from Crypto.Util.Padding import unpad
import base64

class FootballScoreClient:
def __init__(self, ads_tracker_baidu):
ads = ads_tracker_baidu
ck = f'ads-tracker-baidu={ads}'
self.url = "/football"
self.headers = {
'cookie':f'{ck}',
}
self.initial_message = {
"device": "pc",
"topic": "USER.topic.app.8"
}
self.websocket = None
self.is_running = False

async def connect(self):
"""建立WebSocket连接"""
try:
ssl_context = ssl.create_default_context()
ssl_context.check_hostname = False
ssl_context.verify_mode = ssl.CERT_NONE

self.websocket = await websockets.connect(
self.url,
extra_headers=self.headers,
)
print(f"[{self._get_timestamp()}] 已连接到服务器")
return True
except Exception as e:
print(f"[{self._get_timestamp()}] 连接失败: {e}")
return False

async def send_initial_message(self):
"""发送初始消息"""
try:
await self.websocket.send(json.dumps(self.initial_message))
print(f"[{self._get_timestamp()}] 发送初始消息: {self.initial_message}")
except Exception as e:
print(f"[{self._get_timestamp()}] 发送消息失败: {e}")

async def receive_messages(self):
"""接收消息循环"""
try:
async for message in self.websocket:
print(f"[{self._get_timestamp()}] 收到消息: {message}")
await self.handle_message(message)
except websockets.exceptions.ConnectionClosed as e:
print(f"[{self._get_timestamp()}] 连接关闭: {e}")
self.is_running = False
except Exception as e:
print(f"[{self._get_timestamp()}] 接收消息错误: {e}")
self.is_running = False

async def handle_message(self, message):
"""处理接收到的消息"""
try:
data = decrypt_aes_cbc(message)
# 在这里添加你的消息处理逻辑
print(f"解析后的数据: {data}")
pass
except json.JSONDecodeError:
print(f"无法解析消息: {message}")

async def run(self, auto_reconnect=True):
"""主运行函数"""
self.is_running = True

while self.is_running:
if await self.connect():
await self.send_initial_message()
await self.receive_messages()

if auto_reconnect and self.is_running:
print(f"[{self._get_timestamp()}] 5秒后重新连接...")
await asyncio.sleep(5)
else:
break

async def stop(self):
"""停止客户端"""
self.is_running = False
if self.websocket:
await self.websocket.close()

def _get_timestamp(self):
"""获取当前时间戳"""
return datetime.now().strftime("%Y-%m-%d %H:%M:%S")


async def main():
cp = execjs.compile(open('1.js', 'r', encoding='utf-8', errors='ignore').read())
ads_tracker_baidu = cp.call('getAdsTrackerBaidu').split("ads-tracker-baidu=")[-1]
print(ads_tracker_baidu)
client = FootballScoreClient(ads_tracker_baidu)
try:
await client.run()
except KeyboardInterrupt:
print("\n正在关闭客户端...")
await client.stop()


if __name__ == "__main__":
asyncio.run(main())

结果

总结

1.出于安全考虑,本章未提供完整流程,调试环节省略较多,只提供大致思路,具体细节要你自己还原,相信你也能调试出来。

2.具体更多细节请看名字进入详情了解更多细节,具体细节要你自己还原,相信你也能调试出来。

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

全志V853/V851等芯片开发避坑指南:固件打包工具那些‘坑’与最佳实践

全志V853/V851芯片固件打包实战:从工具链解析到高效排错手册 在嵌入式开发领域,固件打包往往是产品化前的最后一道技术关卡。全志V853/V851系列芯片凭借其出色的性价比在智能硬件市场占据重要地位,但其打包工具链的复杂性也让不少开发者踩过坑…

作者头像 李华
网站建设 2026/5/6 14:06:20

零成本部署社交型AI编码代理:基于GitHub Actions与Docker的实践

1. 项目概述:在GitHub上部署一个会“社交”的AI编码代理 如果你对AI代理(Agent)的认知还停留在“单机运行、默默干活”的阶段,那么这个项目可能会颠覆你的想法。 opencode-vibe 项目展示了一个非常有趣的场景:将一个…

作者头像 李华
网站建设 2026/5/6 14:06:13

股票数据API接口:如何获取股票历史分时MACD数据

如今,量化分析在股市领域风靡一时,股票市场瞬息万变,API的响应速度和稳定性直接影响决策效率。获取股票数据,是踏上量化分析之路的第一步。但更便捷的方式,莫过于利用专业的股票数据API接口。大家可以依据自己的实际情…

作者头像 李华
网站建设 2026/5/6 14:05:52

如何通过Taotoken实现API Key的精细化管理与访问审计

如何通过Taotoken实现API Key的精细化管理与访问审计 1. API Key的创建与管理 在Taotoken控制台中,API Key是访问大模型服务的核心凭证。登录控制台后,导航至「API Key管理」页面,点击「创建新Key」按钮即可生成新的访问密钥。系统支持同时…

作者头像 李华
网站建设 2026/5/6 14:05:01

《给OpenClaw装上多模态感知,打造专属端侧智能协作体》

市面上绝大多数多模态代理本质上仍是云端大模型的模态拼接产物,核心逻辑始终围绕文本驱动展开,这直接导致了延迟高企、隐私泄露风险难以规避以及长期使用成本居高不下的行业顽疾。OpenClaw的本地端侧架构与模块化技能体系,为构建真正意义上的…

作者头像 李华
网站建设 2026/5/6 14:00:33

AUTOSAR MCAL开发避坑指南:EB配置MCU模块时,这5个参数千万别乱动!

AUTOSAR MCAL开发实战:EB配置MCU模块的5个致命陷阱与防御性编程策略 在车载ECU开发领域,AUTOSAR架构已成为行业标准,而MCAL层作为连接硬件与上层软件的关键桥梁,其配置的精确性直接关系到整个系统的稳定性。当工程师使用EB Tresos…

作者头像 李华