1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| import requests import json from Crypto.Cipher import DES3 from datetime import datetime from Crypto.Util.Padding import pad, unpad import base64
CODE = ""
def encrypt(data): key = b'OW84U8Eerdb99rtsTXWSILDO' iv = b'SK8bncVu' cipher = DES3.new(key, DES3.MODE_CBC, iv) padded_data = pad(data.encode("utf-8"), DES3.block_size) cText = cipher.encrypt(padded_data) return base64.b64encode(cText).decode("utf-8")
def get_time(): now = datetime.now() return now.strftime("%Y-%m-%d")
def device_no(): chars = "0123456789abcdefghijklmnopqrstuvwxyz" length = 16 return ''.join(chars[ord(c) % len(chars)] for c in str(hash(datetime.now())))[0:length]
def verify(code): data = encrypt( json.dumps({ "sourceType": "novel", "platform": "android", "packageName": "sanliumanhua.apps.com", "version": "9tg.06.07.207", "channel": "lb", "deviceno": device_no(), "ts": get_time(), "code": code })) form = { "data": data, "action": "verifycode" } headers = { "User-Agent": "okhttp-okgo/jeasonlzy" } print("form: ", form) response = requests.post("http://lb.pigqq.com/UserShareAction.aspx", data=form, headers=headers) if response.status_code == 200 and response.content: return response.json() else: return None for i in range(1, 51): response = verify(CODE) if response is None: print("响应为空") break elif response["data"] == "分享码验证通过": print(f"已邀请{i}个人") else: print(response["info"]) break
|