step_buy.py 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. """
  2. 购买券
  3. 1、https://t.livepocket.jp/api/tickets/purchase?mytimestamp=1714488081955
  4. 2、https://t.livepocket.jp/api/promoter_notification_settings/update?mytimestamp=1714488083447
  5. 3、https://t.livepocket.jp/api/common/lists?dev=sp&mytimestamp=1714488092578
  6. 4、https://t.livepocket.jp/api/purchases/show?order_id=56707983&mytimestamp=1714488092592
  7. 5、https://t.livepocket.jp/api/tickets/purchase?mytimestamp=1714525133395
  8. """
  9. import json
  10. import random
  11. import time
  12. import requests
  13. def step_buy():
  14. step_timestamp = str(int(time.time()))
  15. event_id = 312901
  16. reserved_session_id = random.randint(10000, 60000)
  17. headers = {
  18. 'Accept-Encoding': 'gzip, deflate, br, zstd',
  19. 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36',
  20. 'Accept': 'application/json, text/javascript, */*; q=0.01',
  21. 'Accept-Language': 'zh-CN,zh;q=0.9',
  22. 'Cache-Control': 'no-cache',
  23. 'Content-Type': 'application/x-www-form-urlencoded',
  24. 'Dnt': '1',
  25. 'Pragma': 'no-cache',
  26. 'Priority': 'u=0, i',
  27. 'Referer': f'https://t.livepocket.jp/purchase/confirm?id={event_id}&reserved_session_id={reserved_session_id}&otoken=zIxMWI1OTU5NzFhMzBmMTc3NGIxNmMxMWJkNz',
  28. 'Sec-Ch-Ua': '"Chromium";v="124", "Google Chrome";v="124", "Not-A.Brand";v="99"',
  29. 'Sec-Ch-Ua-Mobile': '?0',
  30. 'Sec-Ch-Ua-Platform': '"macOS"',
  31. 'Sec-Fetch-Dest': 'empty',
  32. 'Sec-Fetch-Mode': 'cors',
  33. 'Sec-Fetch-Site': 'same-origin',
  34. 'Sec-Fetch-User': '?1',
  35. 'Upgrade-Insecure-Requests': '1',
  36. 'authority': 't.livepocket.jp',
  37. 'method': 'POST',
  38. 'path': f'/api/tickets/purchase?mytimestamp={step_timestamp}',
  39. 'scheme': 'https',
  40. 'X-Requested-With': 'XMLHttpRequest',
  41. }
  42. cookies = {
  43. 'ci_session': 'xvPftOucrr%2FKm8QK8rm%2FYMqQevVyEzdeVR%2BXweTNG3GqeftmbsU48MUFg6DsNW1L8%2FLMO5CcXwfxX5o7%2FV4GcqY7cHv24bfWoL0YLdDaE0NCQJi4H08YEco3cJH%2F1VSYdA1EphBT0BgWXRwfL0SRmCe6b%2FvYGiyBXHqT1Av%2BRi35TI3WGcL5kyBll8DXaZdL6%2FpSLb8H%2Bqn0oT%2BSk2sQ5ReyKS4oanPTOL6q6kuARaDAg9opO3iZpC6NVqqToQZoiHemQYYV9YL9IFUTLIullRcw5bu%2FgbTxgkyFOzjKoiMSF69zdJDDv4lZ3vM9dxHzOS8iJ1fInQoQIq7Z28WlGxeHHbFgfcrpf4oqhrtxvi2nTqq9%2Bkb3mx80sPkrZwPsBexeAIobAHhtgc5VuCXWenhGqdpy%2F2AAyNladWQOZxmR%2FzHA4A6EQ75Krgi9ekzL4tzx1uriBm%2BEP5Ng5e4qIQ%3D%3D'}
  44. step1_url = 'https://t.livepocket.jp/api/tickets/purchase?mytimestamp=' + str(int(time.time()))
  45. form1_data = {
  46. 'utoken': 'utoken',
  47. 'onetime_token_name': 'buy_ticket',
  48. 'onetime_token_value': 'onetime_token_value',
  49. 'url': f'https://t.livepocket.jp/purchase/confirm?id={event_id}&reserved_session_id={reserved_session_id}',
  50. 'reserve_session_id': f'{reserved_session_id}',
  51. 'payment_method': '0',
  52. 'event_id': f'{event_id}',
  53. 'payment_type': 'credit'
  54. }
  55. step1_session = requests.session()
  56. step1_content = step1_session.post(url=step1_url, headers=headers, data=form1_data, cookies=cookies).text
  57. step1_json = json.loads(step1_content)
  58. print(f"step1_content:{step1_content}, error: {step1_json['errmsg']}")
  59. def purchase():
  60. event_id = 312901
  61. reserved_session_id = 739202
  62. buy_timestamp = str(int(time.time()))
  63. url = 'https://t.livepocket.jp/api/tickets/purchase?mytimestamp=' + buy_timestamp
  64. headers = {
  65. 'authority': 't.livepocket.jp',
  66. 'method': 'POST',
  67. 'path': f'/api/tickets/purchase?mytimestamp={buy_timestamp}',
  68. 'scheme': 'https',
  69. 'Accept': 'application/json, text/javascript, */*; q=0.01',
  70. 'Accept-Encoding': 'gzip, deflate, br, zstd',
  71. 'Accept-Language': 'zh-CN,zh;q=0.9',
  72. 'Cache-Control': 'no-cache',
  73. 'Content-Type': 'application/x-www-form-urlencoded',
  74. 'Cookie': 'ci_session=xvPftOucrr%2FKm8QK8rm%2FYMqQevVyEzdeVR%2BXweTNG3GqeftmbsU48MUFg6DsNW1L8%2FLMO5CcXwfxX5o7%2FV4GcqY7cHv24bfWoL0YLdDaE0NCQJi4H08YEco3cJH%2F1VSYdA1EphBT0BgWXRwfL0SRmCe6b%2FvYGiyBXHqT1Av%2BRi35TI3WGcL5kyBll8DXaZdL6%2FpSLb8H%2Bqn0oT%2BSk2sQ5ReyKS4oanPTOL6q6kuARaDAg9opO3iZpC6NVqqToQZoiHemQYYV9YL9IFUTLIullRcw5bu%2FgbTxgkyFOzjKoiMSF69zdJDDv4lZ3vM9dxHzOS8iJ1fInQoQIq7Z28WlGxeHHbFgfcrpf4oqhrtxvi2nTqq9%2Bkb3mx80sPkrZwPsBexeAIobAHhtgc5VuCXWenhGqdpy%2F2AAyNladWQOZxmR%2FzHA4A6EQ75Krgi9ekzL4tzx1uriBm%2BEP5Ng5e4qIQ%3D%3D',
  75. 'Dnt': '1',
  76. 'Origin': "https://t.livepocket.jp",
  77. 'Pragma': 'no-cache',
  78. 'Priority': 'u=1, i',
  79. 'Referer': f'https://t.livepocket.jp/purchase/confirm?id={event_id}&reserved_session_id={reserved_session_id}&otoken=WU1OGQ1NDgxMzA3MzM5MDUwM2JmODA0ZjE3Yj',
  80. 'Sec-Ch-Ua': '"Chromium";v="124", "Google Chrome";v="124", "Not-A.Brand";v="99"',
  81. 'Sec-Ch-Ua-Mobile': '?0',
  82. 'Sec-Ch-Ua-Platform': '"macOS"',
  83. 'Sec-Fetch-Dest': 'empty',
  84. 'Sec-Fetch-Mode': 'cors',
  85. 'Sec-Fetch-Site': 'same-origin',
  86. 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36',
  87. 'X-Requested-With': 'XMLHttpRequest'
  88. }
  89. form_data = {
  90. 'utoken': 'VnpLJuTk66deUZmE5mam7JLGPmoHl0Mp24p9yURh',
  91. 'onetime_token_name': 'buy_ticket',
  92. 'onetime_token_value': 'WU1OGQ1NDgxMzA3MzM5MDUwM2JmODA0ZjE3Yj',
  93. 'url': f'https://t.livepocket.jp/purchase/confirm?id={event_id}&reserved_session_id={reserved_session_id}',
  94. 'reserve_session_id': f'{reserved_session_id}',
  95. 'payment_method': '0',
  96. 'event_id': f'{event_id}',
  97. 'payment_type': 'credit',
  98. 'order_id': '',
  99. 'security_code': '',
  100. 'serial_codes': 'null',
  101. 'fan_club': 'null',
  102. 'use_discount_id': '',
  103. 'use_discount_code_id': ''
  104. }
  105. step1_session = requests.session()
  106. response = step1_session.post(url=url, headers=headers, data=form_data)
  107. print(response.request.headers)
  108. print(response.request.body)
  109. step1_json = json.loads(response.text)
  110. print(f"step1_content:{response.text}, error: {step1_json['errmsg']}")
  111. def get_page_content():
  112. url = 'https://t.livepocket.jp/purchase/confirm?id=312901'
  113. response = requests.get(url)
  114. print(response.text)
  115. if __name__ == "__main__":
  116. purchase()