def sms_login(self, sms): """ 短信登录 :param sms: 收到的验证码 :return: dict if success:return { "status": 1, "token": token, "msg": msg } if fail:return { "status": 0, "errmsg": errmsg } """ data = { 'appCode': "M002", 'deviceId': self.login_info['deviceId'], 'netWork': "wifi", 'qudao': "guanwang", 'requestMethod': "cam_iface46/registerUsersByTelAndLoginNew.action", 'shebeixinghao': self.login_info['shebeixinghao'], 'sms': sms, 'systemType': self.login_info['systemType'], 'telephoneInfo': self.login_info['telephoneInfo'], 'telephoneModel': self.login_info['telephoneModel'], 'mobile': self.login_info['phoneNum'], 'type': '2', 'wanxiaoVersion': self.login_info['wanxiaoVersion'] } upload_args = { "session": self.login_info["sessionId"], "data": des_3.object_encrypt(data, self.login_info["appKey"]) } try: resp = requests.post( "https://app.17wanxiao.com/campus/cam_iface46/registerUsersByTelAndLoginNew.action", headers={ "campusSign": hashlib.sha256( json.dumps(upload_args).encode('utf-8')).hexdigest() }, json=upload_args, verify=False, timeout=30).json() """ {"result_":true,"data":"******","message_":"登录成功","code_":"0"} {"result_":false,"message_":"短信验证码错误","code_":"6"} """ if resp['result_']: return { "status": 1, "token": self.login_info['sessionId'], "msg": resp['message_'] } return {"status": 0, "errmsg": resp['message_']} except Exception as e: return {"status": 0, "errmsg": f"{e.__class__},{e}"}
def login(self): ''' 使用账号密码登录完美校园APP :param phone: 完美校园APP绑定的手机号码 :param password: 完美校园密码 :return: ''' password_list = [] for i in self.password: password_list.append(des_3.des_3_encrypt(i, self.user_info['appKey'], '66666666')) login_args = { 'appCode': 'M002', 'deviceId': '863064219723915', 'netWork': 'wifi', 'password': password_list, 'qudao': 'guanwang', 'requestMethod': 'cam_iface46/loginnew.action', 'shebeixinghao': 'MLA-AL10', 'systemType': 'android', 'telephoneInfo': '5.1.1', 'telephoneModel': 'HUAWEI MLA-AL10', 'type': '1', 'userName': self.phone, 'wanxiaoVersion': 10462101, 'yunyingshang': '07' } upload_args = { 'session': self.user_info['sessionId'], 'data': des_3.object_encrypt(login_args, self.user_info['appKey']) } try: resp = requests.post( 'https://app.17wanxiao.com/campus/cam_iface46/loginnew.action', headers={'campusSign': hashlib.sha256(json.dumps(upload_args).encode('utf-8')).hexdigest()}, json=upload_args, verify=False, timeout=30, ).json() """ {'result_': True, 'data': '........', 'message_': '登录成功', 'code_': '0'} {'result_': False, 'message_': '该手机号未注册完美校园', 'code_': '4'} {'result_': False, 'message_': '您正在新设备上使用完美校园,请使用验证码进行验证登录', 'code_': '5'} {'result_': False, 'message_': '密码错误,您还有5次机会!', 'code_': '5'} """ if resp['result_']: # logging.info(resp) logging.info(f'{self.phone[:4]}:{resp["message_"]}') self.user_info['login'] = True self.user_info['exchangeFlag'] = False self.user_info['login_msg'] = resp else: # logging.warning(resp) logging.warning(f'{self.phone[:4]}:{resp["message_"]}') self.user_info['login_msg'] = resp return resp['result_'] except Exception as e: self.user_info['login_msg'] = {"message_": e} logging.warning(e)
def login(self): ''' 使用账号密码登录完美校园APP :param phone: 完美校园APP绑定的手机号码 :param password: 完美校园密码 :return: ''' password_list = [] for i in self.password: password_list.append( des_3.des_3_encrypt(i, self.user_info['appKey'], '66666666')) login_args = { 'appCode': 'M002', 'deviceId': self.user_info['deviceId'], 'netWork': 'wifi', 'password': password_list, 'qudao': 'guanwang', 'requestMethod': 'cam_iface46/loginnew.action', 'shebeixinghao': 'iPhone12', 'systemType': 'iOS', 'telephoneInfo': '13.5', 'telephoneModel': 'iPhone', 'type': '1', 'userName': self.phone, 'wanxiaoVersion': 10531102, 'yunyingshang': '07' } upload_args = { 'session': self.user_info['sessionId'], 'data': des_3.object_encrypt(login_args, self.user_info['appKey']) } try: resp = requests.post( 'https://app.17wanxiao.com/campus/cam_iface46/loginnew.action', headers={ 'campusSign': hashlib.sha256( json.dumps(upload_args).encode('utf-8')).hexdigest() }, json=upload_args, verify=False, timeout=30, ).json() if resp['result_']: logging.info(f'{self.phone[:4]}:{resp["message_"]}') self.user_info['login'] = True self.user_info['exchangeFlag'] = False else: logging.info(f'{self.phone[:4]}:{resp["message_"]}') return resp['result_'] except Exception as e: logging.warning(e)
def login(self, phone, password): """ 使用账号密码登录完美校园APP :param phone: 完美校园APP绑定的手机号码 :param password: 完美校园密码 :return: """ password_list = [] for i in password: password_list.append( des_3.des_3_encrypt(i, self.user_info["appKey"], "66666666")) login_args = { "appCode": "M002", "deviceId": self.user_info["deviceId"], "netWork": "wifi", "password": password_list, "qudao": "guanwang", "requestMethod": "cam_iface46/loginnew.action", "shebeixinghao": "MLA-AL10", "systemType": "android", "telephoneInfo": "5.1.1", "telephoneModel": "HUAWEI MLA-AL10", "type": "1", "userName": phone, "wanxiaoVersion": 10462101, "yunyingshang": "07" } upload_args = { "session": self.user_info["sessionId"], "data": des_3.object_encrypt(login_args, self.user_info["appKey"]) } resp = requests.post( "https://server.17wanxiao.com/campus/cam_iface46/loginnew.action", headers={ "campusSign": hashlib.sha256( json.dumps(upload_args).encode('utf-8')).hexdigest() }, json=upload_args, verify=False).json() if resp["result_"]: logging.info(f"{phone[:4]}:{resp['message_']}") self.data = resp["data"] self.user_info["login"] = True self.user_info["exchangeFlag"] = False else: logging.info(f"{phone[:4]}:{resp['message_']}") return resp["result_"]
def send_sms(self): """ 发送短信 :return: dict if success:return { "status": 1, "msg": msg } if fail:return { "status": 0, "errmsg": errmsg } """ send = { 'action': "registAndLogin", 'deviceId': self.login_info['deviceId'], 'mobile': self.login_info['phoneNum'], 'requestMethod': "cam_iface46/gainMatrixCaptcha.action", 'type': "sms" } upload_args = { "session": self.login_info["sessionId"], "data": des_3.object_encrypt(send, self.login_info["appKey"]) } try: resp = requests.post( "https://app.17wanxiao.com/campus/cam_iface46/gainMatrixCaptcha.action", headers={ "campusSign": hashlib.sha256( json.dumps(upload_args).encode('utf-8')).hexdigest() }, json=upload_args, verify=False, timeout=30).json() """ {"result_":true,"message_":"聚合验证码发送成功。","code_":0} """ if resp['result_']: return {"status": 1, "msg": resp['message_']} return {"status": 0, "errmsg": f"短信发送失败,{resp}"} except Exception as e: return {"status": 0, "errmsg": f"{e.__class__},{e}"}
def pwd_login(self, password): """ 完美校园密码登录 :param password: 完美校园登录密码 :return: dict if success:return { "status": 1, "token": token, "msg": msg } if fail:return { "status": 0, "errmsg": errmsg } """ password_list = [ des_3.des_3_encrypt(i, self.login_info['appKey'], '66666666') for i in password ] login_args = { 'appCode': 'M002', 'deviceId': self.login_info['deviceId'], 'netWork': 'wifi', 'password': password_list, 'qudao': 'guanwang', 'requestMethod': 'cam_iface46/loginnew.action', 'shebeixinghao': self.login_info['shebeixinghao'], 'systemType': self.login_info['systemType'], 'telephoneInfo': self.login_info['telephoneInfo'], 'telephoneModel': self.login_info['telephoneModel'], 'type': '1', 'userName': self.login_info['phoneNum'], 'wanxiaoVersion': self.login_info['wanxiaoVersion'], 'yunyingshang': '07' } upload_args = { 'session': self.login_info['sessionId'], 'data': des_3.object_encrypt(login_args, self.login_info['appKey']) } try: resp = requests.post( 'https://app.17wanxiao.com/campus/cam_iface46/loginnew.action', headers={ 'campusSign': hashlib.sha256( json.dumps(upload_args).encode('utf-8')).hexdigest() }, json=upload_args, verify=False, timeout=30, ).json() """ {'result_': True, 'data': '........', 'message_': '登录成功', 'code_': '0'} {'result_': False, 'message_': '该手机号未注册完美校园', 'code_': '4'} {'result_': False, 'message_': '您正在新设备上使用完美校园,请使用验证码进行验证登录', 'code_': '5'} {'result_': False, 'message_': '密码错误,您还有5次机会!', 'code_': '5'} """ if resp['result_']: return { "status": 1, "token": self.login_info['sessionId'], "msg": resp['message_'] } return {"status": 0, "errmsg": resp['message_']} except Exception as e: return {"status": 0, "errmsg": f"{e.__class__},{e}"}