美团民宿 mtgsig 小程序 mtgsig1.2 分析

声明

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

逆向分析

复制代码
cp = execjs.compile(open('民宿-mtgsig.js', 'r', encoding='utf-8').read())
data = cp.call('getMtgsig',data,openId,page)
mtgsig = data['header']['mtgsig']
复制代码
headers = {
    'Accept': '*/*',
    'Accept-Language': 'zh-CN,zh;q=0.9',
    'Connection': 'keep-alive',
    'Content-Type': 'application/json',
     'Sec-Fetch-Mode': 'cors',
    'Sec-Fetch-Site': 'cross-site',
    'clientversion': '3.3.5',
    'csecuserid': '',
    'utm_medium': '',
    'xweb_xhr': '1',
    'mtgsig': mtgsig,
}

params = {
    'phx_appnm': 'group_wxapp',
    'phx_plat': 'android',
    'phx_app_version': '0.0.0',
    'phx_channel': 'weixin',
    'phx_geo_city_id': '440100',
    'phx_geo_city_name': '广州',
    'front_geo_city_id': '20',
    'phx_invite_code': '',
    'phx_act_id': '',
    'phx_wake_up_type': 'group_wxapp_entry',
    'phx_wake_up_source': 'hotel_home_page_tab',
    'yodaReady': 'wx',
    'csecappid': '',
    'csecplatform': '3',
    'csecversionname': '9.13.2',
    'csecversion': '1.4.0',
}

json_data = {
    'cityId': 440100,
    'frontCityId': 20,
    'cityName': '广州',
    'frontCityName': '广州',
    'dateBegin': '20250402',
    'dateEnd': '20250403',
    'cityEnName': 'guangzhou',
    'isForeign': 0,
    'rawOffset': 28800,
    'dstOffset': 0,
    'adultsNumber': 0,
    'childrenNumber': 0,
    'babiesNumber': 0,
    'bedCount': 0,
    'totalGuestNumber': 0,
    'minPrice': 0,
    'hotelLevels': [],
    'productTypeList': [],
    'poiTypeList': [],
    'rentTypeList': [],
    'layoutRoomList': [],
    'facilities': [],
    'sortType': 0,
    'tagIds': [],
    'complexFilterItemIds': [],
    'singleTagIds': [],
    'locationCategoryId': -4,
    'locationGroupId': -4,
    'locationId': -4,
    'searchRatioValue': 4,
    'relationTagIds': [],
    'adjustDateForLongRent': False,
    'needLoading': 1,
    'needLogin': 1,
    'needTopProductIds': [],
    'isSubpackageMt': 1,
    'needTopMtPoiIds': [],
    'mpApis': {},
    'wxLogined': '',
    'pageSize': 20,
    'useNewTag': 1,
    'currentTimeMillis': '',
    'privacySwitch': True,
    'newDiscountPopupStyle': True,
    'pageNow': 3,
    'bigMode': False,
    'searchId': '',
    'deprecatedGraphqlMark': True,
    'foldAvailable': True,
    'searchFirstScreen': False,
}

response = requests.post(
    'searchProduct/search',
    params=params,
    headers=headers,
    json=json_data,
)

结果

总结

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

相关推荐
考虑考虑3 小时前
JDK26中的Map.ofLazy
java·后端·java ee
鶴哥只手遮天6 小时前
Spring AI 2.0.1 深度解析-第 14 章 MCP 服务端(上):注解式实现与工具来源
java·人工智能·开源
鶴哥只手遮天6 小时前
Spring AI 2.0.1 深度解析-第 15 章 MCP 服务端(下):三种协议形态、Streamable 传输与状态管理
java·人工智能·开源
鶴哥只手遮天6 小时前
Spring AI 2.0.1 深度解析-第 16 章 向量存储(上):`VectorStore` 接口体系、`BatchingStrategy`
java·人工智能·开源
鶴哥只手遮天6 小时前
Spring AI 2.0.1 深度解析-第 12 章 工具循环的流式形态、Usage 累加与扩展体系
java·人工智能·开源
鶴哥只手遮天7 小时前
Spring AI 2.0.1 深度解析-第 23 章 模型供应商实现:从 `OpenAiSetup` 到 Bedrock
java·人工智能·开源
鶴哥只手遮天7 小时前
Spring AI 2.0.1 深度解析-第 06 章 内置 Advisor 全景:13 个实现逐个剖到源码级
java·人工智能·开源
鶴哥只手遮天7 小时前
Spring AI 2.0.1 深度解析-第 03 章 消息体系与 Prompt:不可变模型、`ChatOptions` 与模板渲染
java·人工智能·开源
鶴哥只手遮天7 小时前
Spring AI 2.0.1 深度解析-第 24 章 生产实践与 2.x 迁移:陷阱清单、AOT 与调优
java·人工智能·开源
鶴哥只手遮天7 小时前
Spring AI 2.0.1 深度解析-第 10 章 工具调用(中):执行链路、结果转换与工具限制
java·人工智能·开源