Esempio n. 1
0
 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)
Esempio n. 3
0
 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_"]
Esempio n. 5
0
 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}"}
Esempio n. 6
0
 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}"}