|
@@ -9,7 +9,7 @@ import requests
|
|
|
from lxml import html
|
|
from lxml import html
|
|
|
|
|
|
|
|
|
|
|
|
|
-def operator_poc():
|
|
|
|
|
|
|
+def operator_poc(account, passwd):
|
|
|
"""
|
|
"""
|
|
|
模拟登录
|
|
模拟登录
|
|
|
"""
|
|
"""
|
|
@@ -24,10 +24,10 @@ def operator_poc():
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
# 通过字典方式定义请求body
|
|
# 通过字典方式定义请求body
|
|
|
- form_data = {"login": 'n7094@huatcn.com',
|
|
|
|
|
- "password": 'panyue666',
|
|
|
|
|
|
|
+ form_data = {"login": account,
|
|
|
|
|
+ "password": passwd,
|
|
|
"auto_login": "on",
|
|
"auto_login": "on",
|
|
|
- "login_password": "n7094@huatcn.com&panyue666"
|
|
|
|
|
|
|
+ "login_password": f"{account}&{passwd}"
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
data = parse.urlencode(form_data)
|
|
data = parse.urlencode(form_data)
|
|
@@ -46,11 +46,16 @@ def operator_poc():
|
|
|
'https': 'https://' + proxy,
|
|
'https': 'https://' + proxy,
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- content = requests.post(url=login_url, headers=headers, data=data).text
|
|
|
|
|
|
|
+ session = requests.session()
|
|
|
|
|
+ content = session.post(url=login_url, headers=headers, data=data).text
|
|
|
|
|
+ cookie = session.cookies
|
|
|
|
|
+ response_cookie = cookie.get_dict()
|
|
|
login_resp = json.loads(content)
|
|
login_resp = json.loads(content)
|
|
|
- print(f"token: {login_resp['result']['token']}")
|
|
|
|
|
|
|
+ print(f"token: {login_resp['result']['token']}, response_cookie:{response_cookie}")
|
|
|
# print(login_resp)
|
|
# print(login_resp)
|
|
|
|
|
+ token = login_resp['result']['token']
|
|
|
|
|
|
|
|
|
|
+ event_id = 0
|
|
|
# 跳转到抢券
|
|
# 跳转到抢券
|
|
|
target_url = 'https://t.livepocket.jp/e/4gbm0'
|
|
target_url = 'https://t.livepocket.jp/e/4gbm0'
|
|
|
response = requests.get(target_url)
|
|
response = requests.get(target_url)
|
|
@@ -70,7 +75,40 @@ def operator_poc():
|
|
|
else:
|
|
else:
|
|
|
print('Failed to fetch the page. Status code:', response.status_code)
|
|
print('Failed to fetch the page. Status code:', response.status_code)
|
|
|
|
|
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ # 预购
|
|
|
|
|
+ prepare_url = 'https://t.livepocket.jp/purchase?type=new'
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
# reserved_session_id 6位随机整数
|
|
# reserved_session_id 6位随机整数
|
|
|
|
|
+ buy_url = 'https://t.livepocket.jp/api/tickets/purchase?mytimestamp=' + str(int(time.time()))
|
|
|
|
|
+
|
|
|
|
|
+ reserved_session_id = random.randint(100000, 600000)
|
|
|
|
|
+ ci_session = json.dumps(session.cookies.get_dict())
|
|
|
|
|
+ print(ci_session)
|
|
|
|
|
+ common_cookies = {"ci_session": ci_session}
|
|
|
|
|
+ # 通过字典方式定义请求body
|
|
|
|
|
+ form_buy = {"utoken": token,
|
|
|
|
|
+ "onetime_token_name": 'buy_ticket',
|
|
|
|
|
+ "onetime_token_value": "GZhM2MyODg2OTYwMmRlMmM3NjNjOWYxMDExMG",
|
|
|
|
|
+ "url": "https://t.livepocket.jp/purchase/confirm?id=" + str(event_id) + f"&reserved_session_id={reserved_session_id}",
|
|
|
|
|
+ "reserved_session_id": reserved_session_id,
|
|
|
|
|
+ "event_id": str(event_id),
|
|
|
|
|
+ "payment_type": "credit",
|
|
|
|
|
+ "payment_method": 0,
|
|
|
|
|
+ # "enquete[q_id]": 44196,
|
|
|
|
|
+ # "enquete[99063_]": 327196
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ data = parse.urlencode(form_buy)
|
|
|
|
|
+
|
|
|
|
|
+ buy_session = requests.session()
|
|
|
|
|
+ buy_content = buy_session.post(url=buy_url, headers=headers, data=data, cookies=common_cookies).text
|
|
|
|
|
+ print(buy_content)
|
|
|
|
|
+ response_content = json.loads(buy_content)
|
|
|
|
|
+ print(f"buy_content:{response_content['errmsg']}")
|
|
|
|
|
|
|
|
|
|
|
|
|
# 返回一个随机的请求头 headers
|
|
# 返回一个随机的请求头 headers
|
|
@@ -102,4 +140,4 @@ def get_headers():
|
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
if __name__ == '__main__':
|
|
|
- operator_poc()
|
|
|
|
|
|
|
+ operator_poc("no2es@huatcn.com", "panyue666")
|