当前位置:   article > 正文

i某台app自动预约分析与实现_i茅台自动预约

i茅台自动预约

        在“i茅台”App中可以预约茅台酒,每天早上9:00-10:00可以在线预约茅台酒,每天手动预约过于繁琐,且容易忘记,中奖概率低,为了提高中奖概率无非就是用大量的手机号去登录APP每天定时预约,为了降低成本就需要上柯基了。

实现步骤

1.通过手机号收取验证码登录i茅台app拿到用户token。

2.查询所预约门店投放数量

3.提交申购单

具体实现:

第一步:抓包分析i茅台app的登录接口

发送验证码接口:

  1. 1. 请求内容 Request:
  2. POST /xhr/front/user/register/vcode HTTP/1.1
  3. Host: app.moutai519.com.cn
  4. MT-Device-ID: 2F2075D0-B66C-4287-A903-DBFF6358342C
  5. MT-User-Tag: 0
  6. Accept: */*
  7. MT-Network-Type: WIFI
  8. MT-Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJtdCIsImV4cCI6MTY3NzAzMDk4OSwidXNlcklkIjoxMDU0NDI3MzYxLCJkZXZpY2VJZCI6IjJGMjA3NUQwLUI2NkMtNDI4Ny1BOTAzLURCRkY2MzU4MzQyQyIsImlhdCI6MTY3NDQzODk4OX0.jMzprM-mO6yBTG3pjEcmq2fUgAjKwyuWHREmY6vynv0
  9. MT-Team-ID:
  10. MT-Bundle-ID: com.moutai.mall
  11. Accept-Language: en-CN;q=1, zh-Hans-CN;q=0.9
  12. MT-Request-ID: 167560018873318465
  13. MT-APP-Version: 1.3.6
  14. User-Agent: iOS;16.3;Apple;?unrecognized?
  15. MT-R: clips_OlU6TmFRag5rCXwbNAQ/Tz1SKlN8THcecBp/HGhHdw==
  16. Content-Length: 93
  17. Accept-Encoding: gzip, deflate, br
  18. Connection: keep-alive
  19. Content-Type: application/json
  20. {"md5":"66ca82023ea11ebca976db4506d34997","mobile":"199********","timestamp":"1675600188717"}
  21. 2. 响应内容 Response:
  22. HTTP/1.1 200
  23. Content-Type: application/json
  24. Transfer-Encoding: chunked
  25. Connection: keep-alive
  26. Date: Sun, 05 Feb 2023 12:29:49 GMT
  27. Server: yanxuan-ianus/0.9.7
  28. {"code":2000}

发现请求body中有一个md5字段和时间戳字段,应该是进行了接口签名,修改手机号重放请求,不出所料返回{ "message" : "获取验证码失败","code" : 4010}对i茅台app进行hook分析,和逆向分析得到签名算法为:固定值+手机号+时间戳 进行md5

改写算法实现:

  1. public static String getSignature(long timestamp, Map<String, String> data) {
  2. Map<String, String> sortedMap = new TreeMap<>(data);
  3. StringBuilder stringBuilder = new StringBuilder();
  4. stringBuilder.append(SALT);
  5. for (Map.Entry<String, String> entry : sortedMap.entrySet()) {
  6. stringBuilder.append(entry.getValue());
  7. }
  8. stringBuilder.append(timestamp);
  9. return DigestUtils.md5Hex(stringBuilder.toString());
  10. }

代入上面抓包结果进行验证得到相同的结果,验证成功! 

验证码登录接口分析:

  1. POST /xhr/front/user/register/login HTTP/1.1
  2. Host: app.moutai519.com.cn
  3. Connection: keep-alive
  4. Content-Type: application/json
  5. MT-Device-ID: 2F2075D0-B66C-4287-A903-DBFF6358342C
  6. MT-User-Tag: 0
  7. Accept: */*
  8. MT-Network-Type: WIFI
  9. MT-Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJtdCIsImV4cCI6MTY3NzAzMDk4OSwidXNlcklkIjoxMDU0NDI3MzYxLCJkZXZpY2VJZCI6IjJGMjA3NUQwLUI2NkMtNDI4Ny1BOTAzLURCRkY2MzU4MzQyQyIsImlhdCI6MTY3NDQzODk4OX0.jMzprM-mO6yBTG3pjEcmq2fUgAjKwyuWHREmY6vynv0
  10. MT-K: 1675600193742
  11. MT-Team-ID:
  12. MT-Bundle-ID: com.moutai.mall
  13. MT-V: adc8d8d93d0a7aa61bc1df89ad5
  14. User-Agent: iOS;16.3;Apple;?unrecognized?
  15. Accept-Language: en-CN;q=1, zh-Hans-CN;q=0.9
  16. MT-Request-ID: 167560019374225511
  17. MT-R: clips_OlU6TmFRag5rCXwbNAQ/Tz1SKlN8THcecBp/HGhHdw==
  18. MT-APP-Version: 1.3.6
  19. Content-Length: 65
  20. Accept-Encoding: gzip, deflate, br
  21. {"ydToken":"","mobile":"199********","vCode":"9884","ydLogId":""}

直接post提交收到的验证码过去,后端返回登录的token和用户信息:

 成功实现登录(MT-Device-ID这个参数必须在请求头中,且每次请求需一致,获取验证码的时候生成一个随机UUID并在后续保持一致)

第二步:查询所预约的地区门店投放的产品类型和数量

抓包分析:

1.获取当天的sessionId

https://static.moutai519.com.cn/mt-backend/xhr/front/mall/index/session/get/1675267200000

1675267200000为当日00:00的时间戳,每天的sessionId是不一样的。

2.查询所在省市的投放产品和数量

https://static.moutai519.com.cn/mt-backend/xhr/front/mall/shop/list/slim/v3/512/重庆市/10213/1675526400000

链接后面四个参数分别为sessionId、省份名称、茅台的itemId、当日00:00的时间戳,可以根据自己所需来更改,接口所返回的数据为:

  1. {
  2. "code": 2000,
  3. "data": {
  4. "shops": [
  5. {
  6. "shopId": "150500101001",
  7. "items": [
  8. {
  9. "count": 1,
  10. "itemId": "10056",
  11. "inventory": 3,
  12. "ownerName": "重庆市垫江县辉高酒业有限公司"
  13. },
  14. {
  15. "count": 1,
  16. "itemId": "10213",
  17. "inventory": 4,
  18. "ownerName": "重庆市垫江县辉高酒业有限公司"
  19. }
  20. ]
  21. },
  22. {
  23. "shopId": "150500101002",
  24. "items": [
  25. {
  26. "count": 1,
  27. "itemId": "10056",
  28. "inventory": 3,
  29. "ownerName": "重庆市万州区醉仁川商贸有限公司"
  30. },
  31. {
  32. "count": 1,
  33. "itemId": "10213",
  34. "inventory": 10,
  35. "ownerName": "重庆市万州区醉仁川商贸有限公司"
  36. }
  37. ]
  38. },
  39. {
  40. "shopId": "150500101003",
  41. "items": [
  42. {
  43. "count": 1,
  44. "itemId": "10056",
  45. "inventory": 3,
  46. "ownerName": "重庆市涪陵区涛沭商贸有限公司"
  47. },
  48. {
  49. "count": 1,
  50. "itemId": "10213",
  51. "inventory": 6,
  52. "ownerName": "重庆市涪陵区涛沭商贸有限公司"
  53. }
  54. ]
  55. },
  56. {
  57. "shopId": "150500102001",
  58. "items": [
  59. {
  60. "count": 1,
  61. "itemId": "10056",
  62. "inventory": 3,
  63. "ownerName": "重庆茅美香商贸有限公司"
  64. },
  65. {
  66. "count": 1,
  67. "itemId": "10213",
  68. "inventory": 6,
  69. "ownerName": "重庆茅美香商贸有限公司"
  70. }
  71. ]
  72. },
  73. {
  74. "shopId": "150500103003",
  75. "items": [
  76. {
  77. "count": 1,
  78. "itemId": "10056",
  79. "inventory": 9,
  80. "ownerName": "重庆市綦江区储备粮有限公司"
  81. },
  82. {
  83. "count": 1,
  84. "itemId": "10213",
  85. "inventory": 10,
  86. "ownerName": "重庆市綦江区储备粮有限公司"
  87. }
  88. ]
  89. },
  90. {
  91. "shopId": "150500103005",
  92. "items": [
  93. {
  94. "count": 1,
  95. "itemId": "10056",
  96. "inventory": 30,
  97. "ownerName": "重庆茅台酒销售有限公司"
  98. },
  99. {
  100. "count": 1,
  101. "itemId": "10213",
  102. "inventory": 6,
  103. "ownerName": "重庆茅台酒销售有限公司"
  104. },
  105. {
  106. "count": 1,
  107. "itemId": "10214",
  108. "inventory": 2,
  109. "ownerName": "重庆茅台酒销售有限公司"
  110. },
  111. {
  112. "count": 1,
  113. "itemId": "2478",
  114. "inventory": 2,
  115. "ownerName": "重庆茅台酒销售有限公司"
  116. }
  117. ]
  118. },
  119. {
  120. "shopId": "150500106001",
  121. "items": [
  122. {
  123. "count": 1,
  124. "itemId": "10056",
  125. "inventory": 3,
  126. "ownerName": "重庆江岸酒类销售有限公司"
  127. },
  128. {
  129. "count": 1,
  130. "itemId": "10213",
  131. "inventory": 12,
  132. "ownerName": "重庆江岸酒类销售有限公司"
  133. }
  134. ]
  135. },
  136. {
  137. "shopId": "150500106003",
  138. "items": [
  139. {
  140. "count": 1,
  141. "itemId": "10213",
  142. "inventory": 12,
  143. "ownerName": "重庆国誉商贸有限公司"
  144. }
  145. ]
  146. },
  147. {
  148. "shopId": "150500107003",
  149. "items": [
  150. {
  151. "count": 1,
  152. "itemId": "10056",
  153. "inventory": 6,
  154. "ownerName": "重庆灏达伟业贸易有限公司"
  155. },
  156. {
  157. "count": 1,
  158. "itemId": "10213",
  159. "inventory": 4,
  160. "ownerName": "重庆灏达伟业贸易有限公司"
  161. }
  162. ]
  163. },
  164. {
  165. "shopId": "150500108002",
  166. "items": [
  167. {
  168. "count": 1,
  169. "itemId": "10056",
  170. "inventory": 3,
  171. "ownerName": "重庆崇贵酒类销售有限公司"
  172. },
  173. {
  174. "count": 1,
  175. "itemId": "10213",
  176. "inventory": 8,
  177. "ownerName": "重庆崇贵酒类销售有限公司"
  178. }
  179. ]
  180. },
  181. {
  182. "shopId": "150500109002",
  183. "items": [
  184. {
  185. "count": 1,
  186. "itemId": "10056",
  187. "inventory": 3,
  188. "ownerName": "重庆市德樽贸易有限公司"
  189. },
  190. {
  191. "count": 1,
  192. "itemId": "10213",
  193. "inventory": 8,
  194. "ownerName": "重庆市德樽贸易有限公司"
  195. }
  196. ]
  197. },
  198. {
  199. "shopId": "150500112001",
  200. "items": [
  201. {
  202. "count": 1,
  203. "itemId": "10056",
  204. "inventory": 3,
  205. "ownerName": "重庆市润鑫酒业有限公司"
  206. },
  207. {
  208. "count": 1,
  209. "itemId": "10213",
  210. "inventory": 14,
  211. "ownerName": "重庆市润鑫酒业有限公司"
  212. }
  213. ]
  214. },
  215. {
  216. "shopId": "150500112002",
  217. "items": [
  218. {
  219. "count": 1,
  220. "itemId": "10056",
  221. "inventory": 3,
  222. "ownerName": "重庆熙晋酒业有限公司"
  223. },
  224. {
  225. "count": 1,
  226. "itemId": "10213",
  227. "inventory": 8,
  228. "ownerName": "重庆熙晋酒业有限公司"
  229. }
  230. ]
  231. },
  232. {
  233. "shopId": "150500112006",
  234. "items": [
  235. {
  236. "count": 1,
  237. "itemId": "10056",
  238. "inventory": 30,
  239. "ownerName": "重庆国酒茅台销售有限公司"
  240. },
  241. {
  242. "count": 1,
  243. "itemId": "10213",
  244. "inventory": 10,
  245. "ownerName": "重庆国酒茅台销售有限公司"
  246. },
  247. {
  248. "count": 1,
  249. "itemId": "10214",
  250. "inventory": 2,
  251. "ownerName": "重庆国酒茅台销售有限公司"
  252. },
  253. {
  254. "count": 1,
  255. "itemId": "2478",
  256. "inventory": 2,
  257. "ownerName": "重庆国酒茅台销售有限公司"
  258. }
  259. ]
  260. },
  261. {
  262. "shopId": "150500113002",
  263. "items": [
  264. {
  265. "count": 1,
  266. "itemId": "10056",
  267. "inventory": 3,
  268. "ownerName": "重庆海惠酒类销售有限公司"
  269. },
  270. {
  271. "count": 1,
  272. "itemId": "10213",
  273. "inventory": 10,
  274. "ownerName": "重庆海惠酒类销售有限公司"
  275. }
  276. ]
  277. },
  278. {
  279. "shopId": "150500223001",
  280. "items": [
  281. {
  282. "count": 1,
  283. "itemId": "10056",
  284. "inventory": 9,
  285. "ownerName": "重庆乾恒来商贸有限公司潼南分公司"
  286. },
  287. {
  288. "count": 1,
  289. "itemId": "10213",
  290. "inventory": 8,
  291. "ownerName": "重庆乾恒来商贸有限公司潼南分公司"
  292. }
  293. ]
  294. },
  295. {
  296. "shopId": "150500224001",
  297. "items": [
  298. {
  299. "count": 1,
  300. "itemId": "10056",
  301. "inventory": 3,
  302. "ownerName": "重庆市铜梁区榕润酒类销售有限公司"
  303. },
  304. {
  305. "count": 1,
  306. "itemId": "10213",
  307. "inventory": 14,
  308. "ownerName": "重庆市铜梁区榕润酒类销售有限公司"
  309. }
  310. ]
  311. },
  312. {
  313. "shopId": "150500227001",
  314. "items": [
  315. {
  316. "count": 1,
  317. "itemId": "10056",
  318. "inventory": 3,
  319. "ownerName": "重庆市羽杨酒业有限公司"
  320. },
  321. {
  322. "count": 1,
  323. "itemId": "10213",
  324. "inventory": 6,
  325. "ownerName": "重庆市羽杨酒业有限公司"
  326. }
  327. ]
  328. },
  329. {
  330. "shopId": "150500228001",
  331. "items": [
  332. {
  333. "count": 1,
  334. "itemId": "10056",
  335. "inventory": 6,
  336. "ownerName": "重庆国荣酒店用品有限公司"
  337. },
  338. {
  339. "count": 1,
  340. "itemId": "10213",
  341. "inventory": 8,
  342. "ownerName": "重庆国荣酒店用品有限公司"
  343. }
  344. ]
  345. },
  346. {
  347. "shopId": "150500237001",
  348. "items": [
  349. {
  350. "count": 1,
  351. "itemId": "10213",
  352. "inventory": 8,
  353. "ownerName": "重庆宜满商贸有限公司"
  354. }
  355. ]
  356. },
  357. {
  358. "shopId": "150500383002",
  359. "items": [
  360. {
  361. "count": 1,
  362. "itemId": "10056",
  363. "inventory": 3,
  364. "ownerName": "重庆蓥浆商贸有限公司"
  365. },
  366. {
  367. "count": 1,
  368. "itemId": "10213",
  369. "inventory": 10,
  370. "ownerName": "重庆蓥浆商贸有限公司"
  371. }
  372. ]
  373. },
  374. {
  375. "shopId": "150500383003",
  376. "items": [
  377. {
  378. "count": 1,
  379. "itemId": "10056",
  380. "inventory": 3,
  381. "ownerName": "重庆市沛泉酒类有限公司"
  382. },
  383. {
  384. "count": 1,
  385. "itemId": "10213",
  386. "inventory": 10,
  387. "ownerName": "重庆市沛泉酒类有限公司"
  388. }
  389. ]
  390. },
  391. {
  392. "shopId": "150500700002",
  393. "items": [
  394. {
  395. "count": 1,
  396. "itemId": "10056",
  397. "inventory": 3,
  398. "ownerName": "重庆明培成商贸有限公司"
  399. },
  400. {
  401. "count": 1,
  402. "itemId": "10213",
  403. "inventory": 14,
  404. "ownerName": "重庆明培成商贸有限公司"
  405. },
  406. {
  407. "count": 1,
  408. "itemId": "10214",
  409. "inventory": 4,
  410. "ownerName": "重庆明培成商贸有限公司"
  411. }
  412. ]
  413. },
  414. {
  415. "shopId": "250500103001",
  416. "items": [
  417. {
  418. "count": 1,
  419. "itemId": "10213",
  420. "inventory": 4,
  421. "ownerName": "重庆糖酒有限责任公司"
  422. }
  423. ]
  424. },
  425. {
  426. "shopId": "250500105003",
  427. "items": [
  428. {
  429. "count": 1,
  430. "itemId": "10213",
  431. "inventory": 4,
  432. "ownerName": "重庆乾虹酒类销售有限公司"
  433. }
  434. ]
  435. },
  436. {
  437. "shopId": "250500105007",
  438. "items": [
  439. {
  440. "count": 1,
  441. "itemId": "10213",
  442. "inventory": 14,
  443. "ownerName": "重庆聪易商贸有限公司"
  444. }
  445. ]
  446. },
  447. {
  448. "shopId": "250500107004",
  449. "items": [
  450. {
  451. "count": 1,
  452. "itemId": "10213",
  453. "inventory": 4,
  454. "ownerName": "重庆贵可丰酒业有限责任公司"
  455. },
  456. {
  457. "count": 1,
  458. "itemId": "2478",
  459. "inventory": 2,
  460. "ownerName": "重庆贵可丰酒业有限责任公司"
  461. }
  462. ]
  463. },
  464. {
  465. "shopId": "250500112005",
  466. "items": [
  467. {
  468. "count": 1,
  469. "itemId": "10213",
  470. "inventory": 14,
  471. "ownerName": "重庆瑞干商贸有限公司"
  472. }
  473. ]
  474. },
  475. {
  476. "shopId": "250500381001",
  477. "items": [
  478. {
  479. "count": 1,
  480. "itemId": "10213",
  481. "inventory": 4,
  482. "ownerName": "重庆银怀祥贸易有限公司"
  483. },
  484. {
  485. "count": 1,
  486. "itemId": "2478",
  487. "inventory": 2,
  488. "ownerName": "重庆银怀祥贸易有限公司"
  489. }
  490. ]
  491. },
  492. {
  493. "shopId": "250500700001",
  494. "items": [
  495. {
  496. "count": 1,
  497. "itemId": "10213",
  498. "inventory": 14,
  499. "ownerName": "重庆崇晟商贸有限公司"
  500. },
  501. {
  502. "count": 1,
  503. "itemId": "10214",
  504. "inventory": 4,
  505. "ownerName": "重庆崇晟商贸有限公司"
  506. }
  507. ]
  508. }
  509. ],
  510. "validTime": 1675577461135,
  511. "items": [
  512. {
  513. "picUrl": "https://resource.moutai519.com.cn/mt-resource/static-union/1647438760fef3c7.png",
  514. "title": "53%vol 500mL茅台1935",
  515. "price": "1188",
  516. "count": 0,
  517. "itemId": "10056",
  518. "inventory": 0,
  519. "areaLimitTag": false,
  520. "areaLimit": 0
  521. },
  522. {
  523. "picUrl": "https://resource.moutai519.com.cn/mt-resource/static-union/16727494184eeb12.png",
  524. "title": "53%vol 500ml贵州茅台酒(癸卯兔年)",
  525. "price": "2499",
  526. "count": 0,
  527. "itemId": "10213",
  528. "inventory": 0,
  529. "areaLimitTag": false,
  530. "areaLimit": 0
  531. },
  532. {
  533. "picUrl": "https://resource.moutai519.com.cn/mt-resource/static-union/16727492927991ce.png",
  534. "title": "53%vol 375ml×2贵州茅台酒(癸卯兔年)",
  535. "price": "3599",
  536. "count": 0,
  537. "itemId": "10214",
  538. "inventory": 0,
  539. "areaLimitTag": false,
  540. "areaLimit": 0
  541. },
  542. {
  543. "picUrl": "https://resource.moutai519.com.cn/mt-resource/static-union/16474387600e74c1.png",
  544. "title": "53%vol 500mL贵州茅台酒(珍品)",
  545. "price": "4599",
  546. "count": 0,
  547. "itemId": "2478",
  548. "inventory": 0,
  549. "areaLimitTag": false,
  550. "areaLimit": 0
  551. }
  552. ]
  553. }
  554. }

第三步:提交预约信息

手动进行一次申购,抓包分析:

  1. 1. 请求内容 Request:
  2. POST /xhr/front/mall/reservation/add HTTP/1.1
  3. Host: app.moutai519.com.cn
  4. User-Agent: iOS;16.3;Apple;?unrecognized?
  5. MT-Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJtdCIsImV4cCI6MTY3NzAzMDk4OSwidXNlcklkIjoxMDU0NDI3MzYxLCJkZXZpY2VJZCI6IjJGMjA3NUQwLUI2NkMtNDI4Ny1BOTAzLURCRkY2MzU4MzQyQyIsImlhdCI6MTY3NDQzODk4OX0.jMzprM-mO6yBTG3pjEcmq2fUgAjKwyuWHREmY6vynv0
  6. MT-Network-Type:
  7. MT-User-Tag: 0
  8. MT-R: clips_OlU6TmFRag5rCXwbNAQ/Tz1SKlN8THcecBp/HGhHdw==
  9. MT-Lat: 28.499562
  10. MT-K: 1675213490331
  11. MT-Lng: 102.182324
  12. Content-Length: 255
  13. MT-Info: 028e7f96f6369cafe1d105579c5b9377
  14. Connection: keep-alive
  15. MT-Team-ID:
  16. MT-APP-Version: 1.3.6
  17. MT-Request-ID: 16752134903311510
  18. Accept-Language: en-CN;q=1, zh-Hans-CN;q=0.9
  19. MT-Device-ID: 2F2075D0-B66C-4287-A903-DBFF6358342C
  20. Accept: */*
  21. Content-Type: application/json
  22. Accept-Encoding: gzip, deflate, br
  23. MT-V: 854487cbb9b9aac538e0ce894by
  24. MT-Bundle-ID: com.moutai.mall
  25. {"actParam":"IdiwwdtRdEBhdeHkaJbq1J59r8j5hLj3e34vWmtgR3uF1TYR/v0XjWK/NmSFHV3v9z8jPw27gwdkpCHFaUU8/g1GgyhkiAlOo9qJfCv778NWPRnZDTVPsRyGBzRAxasuTpH+ZyaSlKKZViJHuh8tLw==","itemInfoList":[{"count":1,"itemId":"2478"}],"shopId":"151510100019","sessionId":508}
  26. 2. 响应内容 Response:
  27. HTTP/1.1 200
  28. Content-Type: application/json;charset=UTF-8
  29. Transfer-Encoding: chunked
  30. Connection: keep-alive
  31. Date: Wed, 01 Feb 2023 01:04:50 GMT
  32. Server: yanxuan-ianus/0.9.7
  33. {"code":2000,"data":{"successDesc":"申购完成,请于2月1日18:00查看预约申购结果","reservationList":[{"reservationId":15675400124,"sessionId":508,"shopId":"151510100019","reservationTime":1675213491048,"itemId":"2478"}],"reservationDetail":{"desc":"申购成功后将以短信形式通知您,请您在申购成功次日18:00前确认支付方式,并在3天内完成提货。","lotteryTime":1675245600000,"cacheValidTime":1675245600000}}}

分析请求的body有一个加密参数actParam,对茅台app进行hook分析得到加密算法为AES CBC PKCS7 改写加密算法:

  1. public static final String AES_KEY="qbhajinld***************gypwuvcjaa";
  2. public static final String AES_IV="2018********63515";
  3. public static String AesEncrypt(String params){
  4. AES aes = new AES(Mode.CBC, Padding.PKCS5Padding, AES_KEY.getBytes(), AES_IV.getBytes());
  5. return aes.encryptBase64(params);
  6. }
  7. public static String AesDecrypt(String params){
  8. AES aes = new AES(Mode.CBC, Padding.PKCS5Padding, AES_KEY.getBytes(), AES_IV.getBytes());
  9. return aes.decryptStr(params);
  10. }

 用刚刚抓到得到的加密文本进行解密验证:

验证成功!!

最后就是提交预约信息了,经过我反复测试发现,reservation/add接口的请求头中有一个MT-Info参数需要带上才能成功提交预约信息,且该参数为固定值:028e7f96f6369cafe1d105579c5b9377

综合以上步骤进行实现一个添加账号的前端界面实现上号功能:

后台设置定时任务每天早上9:00-10:00之间进行预约:

 至此,所有功能大功告成!!

仅供学习参考!!!技术交流:c2tpZG9vZGl1ZGl1(base64)

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/437969
推荐阅读
相关标签
  

闽ICP备14008679号