From e7c495a3c33e2aa7e414c03f79be19ad5a8f0f1c Mon Sep 17 00:00:00 2001 From: wbt5 Date: Sun, 21 Nov 2021 16:31:48 +0800 Subject: [PATCH] =?UTF-8?q?:art:=20Improve=20=E7=BD=91=E6=98=93LOOK?= =?UTF-8?q?=E7=9B=B4=E6=92=AD=20-=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- look.py | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/look.py b/look.py index 41d842c..020271f 100644 --- a/look.py +++ b/look.py @@ -17,12 +17,14 @@ import random import requests from Crypto.Cipher import AES -modulus = '00e0b509f6259df8642dbc35662901477df22677ec152b5ff68ace615bb7b725152b3ab17a876aea8a5aa76d2e417629ec4ee341f56135fccf695280104e0312ecbda92557c93870114af6c9d05c4f7f0c3685b7a46bee255932575cce10b424d813cfe4875d3e82047b97ddef52741d546b8e289dc6935b3ece0462db0a22b8e7' +modulus = '00e0b509f6259df8642dbc35662901477df22677ec152b5ff68ace615bb7b725152b3ab17a876aea8a5aa76d2e417629ec4ee34' \ + '1f56135fccf695280104e0312ecbda92557c93870114af6c9d05c4f7f0c3685b7a46bee255932575cce10b424d813cfe4875d3e' \ + '82047b97ddef52741d546b8e289dc6935b3ece0462db0a22b8e7' nonce = b'0CoJUm6Qyw8W8jud' pubKey = '010001' -def aes_encrypt(text, secKey): +def aes_encrypt(text, seckey): pad = 16 - len(text) % 16 # aes加密需要byte类型。 @@ -31,16 +33,16 @@ def aes_encrypt(text, secKey): try: text = text.decode() - except: - pass + except Exception as e: + print(e) text = text + pad * chr(pad) try: text = text.encode() - except: - pass + except Exception as e: + print(e) - encryptor = AES.new(secKey, 2, bytes('0102030405060708', 'utf-8')) + encryptor = AES.new(seckey, 2, bytes('0102030405060708', 'utf-8')) ciphertext = encryptor.encrypt(text) ciphertext = base64.b64encode(ciphertext) return ciphertext @@ -56,10 +58,10 @@ def create_secret_key(size): return bytes(''.join(random.sample('1234567890qwertyuipasdfghjklzxcvbnm', size)), 'utf-8') -def rsa_encrypt(text, pub_key, modulus): +def rsa_encrypt(text, pub_key, mod): text = text[::-1] # 3中将字符串转成hex的函数变成了binascii.hexlify, 2中可以直接 str.encode('hex') - rs = int(binascii.hexlify(text), 16) ** int(pub_key, 16) % int(modulus, 16) + rs = int(binascii.hexlify(text), 16) ** int(pub_key, 16) % int(mod, 16) return format(rs, 'x').zfill(256) @@ -82,11 +84,9 @@ class Look: def get_real_url(self): try: request_data = encrypted_request({"liveRoomNo": self.rid}) - response = requests.post(url='https://api.look.163.com/weapi/livestream/room/get/v3', - data=request_data) + response = requests.post(url='https://api.look.163.com/weapi/livestream/room/get/v3', data=request_data) real_url = response.json()['data']['roomInfo']['liveUrl'] - - except: + except Exception: raise Exception('直播间不存在或未开播') return real_url