You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python获取印尼HappyFresh移动App的Client Token?

爬取HappyFresh时获取Client Token的问题

背景

我正在爬取印尼本土移动应用HappyFresh,已通过MITM完成抓包。核心问题是找不到获取x-spree-client-token的初始请求URL,之前使用设备上的登录Token,但该Token会定期过期,导致请求返回{'error': 'Missing Client Token'}。

当前代码

!pip install httpx[http2]
import httpx
client = httpx.AsyncClient(http2=True)
header={
'content-type': 'application/json',
'locale': 'EN',
'x-spree-client-token': '0115f406e71219ec9ea58e2eaaa4480ef966bdc42e245ec4bf601b23f07bd48e',
'x-device-id': '6923335fdd6fc988',
'x-advertising-id': '2e0acc03-2645-46bd-b464-0d3d8350b874',
'country': 'ID',
'x-country-code': 'ID',
'x-happy-client-type': 'android',
'x-happy-client-version': '3.81.2',
'x-happy-client-build': '2398',
'x-place-token': 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoxLCJlbWFpbCI6ImV4YW1wbGVAdXNlci5jb20iLCJ1c2VyX25hbWUiOiJleGFtcGxlIiwiY2xpZW50X2lkIjoxLCJpYXQiOjE2NjkxMzYzOTMsImV4cCI6MTY2OTEzNjY5M30.RKz_T08SS9HpkHaHNcXc4Hb31zgk6DKm1daCpIB7TDQ',
'x-happy-cash-shield-session-id': '4be315c3e3044ad18811815dc1fc3c22',
'accept-encoding': 'gzip',
'user-agent': 'okhttp/4.9.1'
}
response = await client.get("https://api.happyfresh.com/api/widgets/home?lat=-6.1608563&lon=106.7927658 HTTP/2.0",headers=header)

排查与解决建议

1. 重新梳理冷启动抓包流程

  • 清空应用缓存、存储后完全重启应用,从冷启动阶段开始抓包,重点关注前3-5个请求,这类请求通常用于初始化会话或获取基础令牌。
  • 在抓包工具中过滤含token、client、session关键词的请求,检查响应体/响应头是否包含x-spree-client-token。
  • 留意路径中带oauth、auth、session、init的端点,比如/api/v1/oauth/token、/api/client/init这类常见的令牌获取URL。

2. 分析无Token的初始化请求

  • 查找抓包中仅携带x-device-id、user-agent等基础设备信息,但未带x-spree-client-token的请求,这类请求大概率是生成或获取客户端令牌的接口。
  • 检查OPTIONS预检请求,部分应用会在正式请求前通过预检请求传递会话初始化信息。

3. 验证本地生成Token的可能性

如果抓包始终找不到明确的Token获取请求,可能该Token是客户端本地生成的:

  • 对比不同设备ID、应用版本下的Token,尝试寻找哈希或加密规律;
  • 反编译APK文件,定位生成x-spree-client-token的代码逻辑(注意应用是否有代码混淆)。

4. 修正当前代码的URL错误

当前请求URL末尾的HTTP/2.0属于协议标识,不应包含在URL中,修正后应为:

response = await client.get("https://api.happyfresh.com/api/widgets/home?lat=-6.1608563&lon=106.7927658", headers=header)

内容的提问来源于stack exchange,提问作者Hal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 17:35:33