美团民宿 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.出于安全考虑,本章未提供完整流程,调试环节省略较多,只提供大致思路,具体细节要你自己还原,相信你也能调试出来。

相关推荐
老华带你飞23 分钟前
学生请假管理|基于springboot 学生请假管理系统(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·后端·spring
毕设源码-钟学长27 分钟前
【开题答辩全过程】以 基于java的点餐猫在线个性化点餐系统的设计与实现为例,包含答辩的问题和答案
java·开发语言
F_D_Z33 分钟前
哈希表解Two Sum问题
python·算法·leetcode·哈希表
智算菩萨36 分钟前
【实战】使用讯飞星火API和Python构建一套文本摘要UI程序
开发语言·python·ui
Groundwork Explorer41 分钟前
异步框架+POLL混合方案应对ESP32 MPY多任务+TCP多连接
python·单片机
一 乐42 分钟前
校务管理|基于springboot + vueOA校务管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·spring
梦帮科技1 小时前
Scikit-learn特征工程实战:从数据清洗到提升模型20%准确率
人工智能·python·机器学习·数据挖掘·开源·极限编程
摇滚侠1 小时前
面试实战 问题三十四 对称加密 和 非对称加密 spring 拦截器 spring 过滤器
java·spring·面试
xqqxqxxq1 小时前
Java 集合框架之线性表(List)实现技术笔记
java·笔记·python