def check_scode(self, args, pb2rq=None, pb2msg=None): '''安全码验证''' # args = self.request.arguments if 'scode' not in args.keys(): msg = self.init_msgws(msgws.CommAns()) msg.head.if_st = 0 msg.head.if_msg = 'Missing argument scode' return (False, None, msg) scode = args.get('scode')[0] leage = self.computing_security_code(scode) if leage: # 初始化应答消息 if pb2msg is None: pb2msg = msgws.CommAns() msg = self.init_msgws(pb2msg) msg.head.if_st = 1 if pb2rq is not None: rqmsg = pb2rq if 'pb2' not in args.keys(): msg = self.init_msgws(msgws.CommAns()) msg.head.if_st = 0 msg.head.if_msg = 'Missing argument pb2' return (False, None, msg) pb2 = args.get('pb2')[0] try: rqmsg = mx.decode_pb2(pb2, pb2obj=rqmsg, fmt=self._pb_format) if rqmsg is None: raise Exception # if self._pb_format == 2: # rqmsg.ParseFromString(pb2) # else: # rqmsg.ParseFromString(base64.b64decode(pb2.replace(' ', '+'))) msg.head.idx = rqmsg.head.idx msg.head.paging_idx = rqmsg.head.paging_idx if rqmsg.head.paging_idx > 0 else 1 msg.head.paging_buffer_tag = rqmsg.head.paging_buffer_tag msg.head.paging_num = rqmsg.head.paging_num if rqmsg.head.paging_num > 0 and rqmsg.head.paging_num <= self._page_num else self._page_num except Exception as ex: msg.head.if_st = 46 return (None, None, msg) else: rqmsg = None else: rqmsg = None msg = self.init_msgws(msgws.CommAns()) msg.head.if_st = 48 msg.head.if_msg = 'scode is not leage.' return (leage, rqmsg, msg)
def test_slutimerget(): global user_id print('=== slu timer get ===') url = baseurl + 'slutimerctl' rqmsg = msgif.rqSluTimerCtl() rqmsg.head.ver = 160328 rqmsg.data_mark = 0 # rqmsg.dt_start = mx.time2stamp('2016-12-10 00:00:00') # rqmsg.dt_end = mx.time2stamp('2017-06-20 00:00:00') rqmsg.tml_id.extend([1500003]) # rqmsg.data_mark=1 scode = mx.getMD5('{0}7ya54Gv5Y'.format( mx.stamp2time(time.time(), format_type='%Y%m%d%H'))) # print(rqmsg) data = { "uuid": user_id, 'pb2': base64.b64encode(rqmsg.SerializeToString()) } # data = {'scode': scode, 'pb2': 'KICY26 LKzCAqNasaDlSs='} r = pm.request('POST', url, fields=data, timeout=300.0, retries=False) msg = msgif.CommAns() # msg.ParseFromString(r.data) msg.ParseFromString(base64.b64decode(r.data)) print(msg) print(msg.head) print('post finish') time.sleep(0)
def test_sluitemadd(): global user_id print('=== sluitemadd ===') url = baseurl + 'sluitemadd' rqmsg = init_head(msgif.rqSluitemAdd()) rqmsg.slu_id = 1500001 a = msgif.rqSluitemAdd.SluItemArgs() a.sluitem_barcode = 4 rqmsg.sluitem_args.extend([a]) b = msgif.rqSluitemAdd.SluItemArgs() b.sluitem_barcode = 3 b.sluitem_alarm = 1 b.sluitem_st = 1 b.sluitem_rated_power.extend([1, 4, 19]) rqmsg.sluitem_args.extend([b]) data = { 'uuid': user_id, # 'pb2': base64.b64encode(rqmsg.SerializeToString()) 'pb2': 'CjIQyOQJKiQxOUEyNDY4QS1DMjRELTQwQkQtQjg5RC01NTc1QzVEMDY0MzWgBoDonL28HBDSCRpREHsY+gEqAwECAzABOgQBAQEBQAFIAVIEAQIDBFgEYgQAAAAAagluYW1lIHRlc3R4ZIIBCWxhbXAgdGVzdIkBAAAAAAAAWUCRAQAAAAAAAGlA' } r = pm.request('POST', url, fields=data, timeout=10.0, retries=False) msg = msgif.CommAns() msg.ParseFromString(base64.b64decode(r.data)) print(msg) time.sleep(0)
def test_rtuctl(): global user_id print('=== rtuctl ===') url = baseurl + 'rtuctl' rqmsg = msgif.rqRtuCtl() # rtudo = msgif.rqRtuCtl.RtuDo() # rtudo.opt = 1 # rtudo.tml_id.extend([1000002, 1000003]) # rtudo.loop_do.extend([1, 1, 0, 0, 2, 2]) # rqmsg.rtu_do.extend([rtudo]) # rtudo = msgif.rqRtuCtl.RtuDo() # rtudo.opt = 1 # rtudo.tml_id.extend([1000002, 1000003]) # rtudo.loop_do.extend([2, 2, 1, 1, 2, 2]) # rqmsg.rtu_do.extend([rtudo]) rtudo = msgif.rqRtuCtl.RtuDo() rtudo.opt = 2 rtudo.tml_id.extend([1000001]) rtudo.loop_do.extend([1, 0, 1, 1, 2, 2]) rqmsg.rtu_do.extend([rtudo]) data = { 'uuid': user_id, 'pb2': base64.b64encode(rqmsg.SerializeToString()) } r = pm.request('POST', url, fields=data, timeout=10.0, retries=False) msg = msgif.CommAns() msg.ParseFromString(base64.b64decode(r.data)) print(msg) time.sleep(0)
def post(self): legal, rqmsg, msg = yield self.check_arguments(msgws.rqSubmitAlarm(), msgws.CommAns(), use_scode=1) if legal: try: for av in rqmsg.alarm_view: try: sfilter = 'jkdb.rep.alarm.{0}.{1}.{2}.{3}'.format( av.dt_create, av.is_alarm, av.err_id, av.tml_id) libiisi.send_to_zmq_pub(sfilter, av.SerializeToString()) except Exception as ex: pass # print(str(ex)) except Exception as ex: logging.error( base.format_log(self.request.remote_ip, str(ex), self.request.path, 0)) else: logging.error( base.format_log(self.request.remote_ip, 'Security code error', self.request.path, 0)) # self.write('Done.') self.finish() del legal, rqmsg, msg
def post(self): args = self.request.arguments if 'scode' not in args.keys(): msg = self.init_msgws(msgws.CommAns()) msg.head.if_st = 0 msg.head.if_msg = 'Missing argument scode' else: scode = args.get('scode')[0] leage = self.computing_security_code(scode) if legal: try: try: keyhead = self.get_argument('keyhead') rqmsg = json.loads(self.get_argument('pb2')) except: keyhead = 'tcs.unknow' sfilter = '{0}.{1}'.format(keyhead, rqmsg['head']['cmd']) libiisi.send_to_zmq_pub(sfilter, rqmsg) except Exception as ex: logging.error( base.format_log(self.request.remote_ip, str(ex), self.request.path, 0)) else: logging.error( base.format_log(self.request.remote_ip, 'Security code error', self.request.path, 0)) # self.write('Done.') self.finish() del legal, rqmsg, msg
def test_ipcsubmit(): global user_id print('=== ipc submit ===') lstcmd = ( 'ipc.verf.get', 'ipc.lscmd.get', 'ipc.date.get', 'ipc.time.get', 'ipc.qudat.get', ) # 'ipc.datetime.set') url = baseurl + 'ipcctl' for cmd in lstcmd: rqmsg = msgif.rqIpcCtl() rqmsg.dev_id.extend(['901001000001']) rqmsg.ctl_cmd = cmd if cmd == 'ipc.datetime.set': rqmsg.dev_datetime = int(time.time()) scode = mx.getMD5('{0}fendangao'.format( mx.stamp2time(time.time(), format_type='%Y%m%d%H'))) data = { 'scode': scode, 'pb2': base64.b64encode(rqmsg.SerializeToString()) } r = pm.request('POST', url, fields=data, timeout=10.0, retries=False) msg = msgif.CommAns() msg.ParseFromString(base64.b64decode(r.data)) time.sleep(15) print('ipc submit finish') time.sleep(0)
def post(self): legal, rqmsg, msg = yield self.check_arguments(msgws.UpdateSmsAlarm(), msgws.CommAns(), use_scode=1) if legal: # 删除原始记录 # for a in rqmsg.record_id: # strsql = '''delete from {0}_data.record_msg_new where record_id={1}'''.format( # self._db_name, a) strsql = '''delete from {0}.record_msg_new where record_id in ({1})'''.format( self._db_name_data, ','.join([str(a) for a in rqmsg.record_id])) cur = yield self.mydata_collector(strsql, need_fetch=0) if cur is None: msg.head.if_st = 45 # 写入发送记录 strsql = '''INSERT INTO {0}.record_msg_log(`send_date`, `send_number`,`send_msg`) VALUES ({1},{2},"{3}")'''.format( self._db_name_data, mx.switchStamp(time.time()), rqmsg.user_tel, rqmsg.fault_msg) cur = yield self.mydata_collector(strsql, need_fetch=0) if cur is None: msg.head.if_st = 45 self.write(mx.code_pb2(msg, self._go_back_format)) self.finish() del msg, rqmsg
def post(self): args = self.request.arguments if 'givemejson' in args.keys(): self._go_back_format = True pb2 = self.get_argument('pb2') rqmsg = msgws.rqUserDel() msg = msgws.CommAns() msg.head.ver = 160328 msg.head.if_dt = int(time.time()) try: rqmsg.ParseFromString(base64.b64decode(pb2)) msg.head.idx = rqmsg.head.idx msg.head.if_st = 1 except: msg.head.if_st = 46 # 删除用户 try: contents = '' #判断是否admin账户,是则返回异常,不是则可以删除 if rqmsg.user != 'admin': # 检查用户名密码是否合法并且删除该用户 strsql = 'delete from {0}.user_list where user_name="{1}" and user_password="******"'.format( self._db_name, rqmsg.user.replace('"', ''), rqmsg.pwd.replace('"', '')) cur = yield self.mydata_collector(strsql, need_fetch=0, need_paging=0) affected_rows = cur[0][0] if affected_rows > 0: contents = 'delete user {0} from {1} success'.format( rqmsg.user, self.request.remote_ip) msg.head.if_st = 1 msg.head.if_msg = 'successfully delete' else: contents = 'delete user {0} from {1} failed'.format( rqmsg.user, self.request.remote_ip) msg.head.if_st = 0 msg.head.if_msg = 'no such user or password wrong' else: contents = 'admin account can not delete' msg.head.if_st = 0 msg.head.if_msg = "admin account can not delete" del cur, strsql except Exception as ex: msg.head.if_st = 0 msg.head.if_msg = str(ex.message) self.write(mx.code_pb2(msg, self._go_back_format)) self.finish() yield self.write_event(156, contents, 2, user_name=rqmsg.user, app_unique=rqmsg.head.unique) del msg, rqmsg
def test_userlogout(): global user_id print('=== logout ===') url = baseurl + 'userlogout' data = {'uuid': user_id} r = pm.request('POST', url, fields=data, timeout=10.0, retries=False) msg = msgif.CommAns() msg.ParseFromString(base64.b64decode(r.data)) print(msg)
def post(self): args = self.request.arguments if 'givemejson' in args.keys(): self._go_back_format = True pb2 = self.get_argument('pb2') rqmsg = msgws.rqUserEdit() msg = msgws.CommAns() msg.head.ver = 160328 msg.head.if_dt = int(time.time()) try: rqmsg.ParseFromString(base64.b64decode(pb2)) msg.head.idx = rqmsg.head.idx msg.head.if_st = 1 except: msg.head.if_st = 46 try: # 检查用户名密码是否存在并更新 strsql = 'update {0}.user_list set \ user_password="******",user_real_name="{4}",user_phonenumber="{5}",user_remark="{6}" \ where user_name="{1}" and user_password="******"'.format( self._db_name, rqmsg.user.replace('"', ''), rqmsg.pwd_old.replace('"', ''), rqmsg.pwd.replace('"', ''), rqmsg.fullname, rqmsg.mobile, rqmsg.remark) cur = yield self.mydata_collector(strsql, need_fetch=0, need_paging=0) affected_rows = cur[0][0] contents = '' if affected_rows > 0: contents = 'edit user {0} from {1} success'.format( rqmsg.user, self.request.remote_ip) msg.head.if_st = 1 msg.head.if_msg = 'successfully to edit user {0}'.format( rqmsg.user) else: contents = 'edit user {0} from {1} failed, wrong username or password or nothing change'.format( rqmsg.user, self.request.remote_ip) msg.head.if_st = 0 msg.head.if_msg = 'Wrong username or password or nothing change' except Exception as ex: msg.head.if_st = 0 msg.head.if_msg = str(ex.message) self.write(mx.code_pb2(msg, self._go_back_format)) self.finish() yield self.write_event(155, contents, 2, user_name=rqmsg.user, app_unique=rqmsg.head.unique) del msg, rqmsg
def post(self): legal, rqmsg, msg = yield self.check_arguments(msgws.CommAns(), msgws.CommAns(), use_scode=1) if legal: strsql = '''select count(1) from {0}.record_msg_log'''.format( self._db_name_data) record_total, buffer_tag, paging_idx, paging_total, cur = yield self.mydata_collector( strsql, need_fetch=1) if cur is not None: if cur[0][0] > 1000: strsql = '''delete from {0}.record_msg_log where send_date<{1}'''.format( self._db_name_data, mx.switchStamp(int(time.time() - 31622400))) cur = yield self.mydata_collector(strsql, need_fetch=0) if cur is None: msg.head.if_st = 45 self.write(mx.code_pb2(msg, self._go_back_format)) self.finish() del msg, rqmsg
def test_cleansms(): global user_id print('=== clean sms ===') url = baseurl + 'cleansmsalarm' rqmsg = init_head(msgif.rqEluCtl()) # rqmsg.tml_id.extend([1600001, 1600002]) # rqmsg.loop_id.extend([1,2,5,8]) scode = mx.getMD5('{0}7ya54Gv5Y'.format( mx.stamp2time(time.time(), format_type='%Y%m%d%H'))) data = {'scode': scode, 'pb2': base64.b64encode(rqmsg.SerializeToString())} r = pm.request('POST', url, fields=data, timeout=10.0, retries=False) msg = msgif.CommAns() msg.ParseFromString(base64.b64decode(r.data)) print(msg) time.sleep(0)
def test_mrudataget(): global user_id print('=== mrudataget ===') url = baseurl + 'mrudataget' rqmsg = init_head(msgif.rqMruDataGet()) rqmsg.tml_id.extend([1300001, 1300002]) data = { 'uuid': user_id, 'pb2': base64.b64encode(rqmsg.SerializeToString()) } r = pm.request('POST', url, fields=data, timeout=10.0, retries=False) msg = msgif.CommAns() msg.ParseFromString(base64.b64decode(r.data)) print(msg) time.sleep(0)
def test_eluctl(): global user_id print('=== elu ctl ===') url = baseurl + 'eluctl' rqmsg = init_head(msgif.rqEluCtl()) rqmsg.tml_id.extend([1600001, 1600002]) rqmsg.loop_id.extend([1, 2, 5, 8]) data = { 'uuid': user_id, 'pb2': base64.b64encode(rqmsg.SerializeToString()) } r = pm.request('POST', url, fields=data, timeout=10.0, retries=False) msg = msgif.CommAns() msg.ParseFromString(base64.b64decode(r.data)) print(msg) time.sleep(0)
def test_ipcuplink(): global user_id print('=== ipc uplink ===') url = baseurl + 'ipcuplink' scode = mx.getMD5('{0}fendangao'.format( mx.stamp2time(time.time(), format_type='%Y%m%d%H'))) rqmsg = msgif.rqIpcUplink() rqmsg.dev_id = '902001000001' rqmsg.raw_string = '1,1' data = {'scode': scode, 'pb2': base64.b64encode(rqmsg.SerializeToString())} r = pm.request('POST', url, fields=data, timeout=10.0, retries=False) msg = msgif.CommAns() msg.ParseFromString(base64.b64decode(r.data)) print(msg) print('ipc uplink finish') time.sleep(0)
def test_userdel(): global user_id print('=== userdel===') url = baseurl + 'userdel' rqmsg = init_head(msgif.rqUserDel()) rqmsg.user_name = 'wuning' data = { 'uuid': user_id, 'pb2': base64.b64encode(rqmsg.SerializeToString()) } r = pm.request('POST', url, fields=data, timeout=10.0, retries=False) msg = msgif.CommAns() msg.ParseFromString(base64.b64decode(r.data)) print(msg) time.sleep(0)
def test_rtudataget(): global user_id print('=== rtudataget ===') url = baseurl + 'rtudataget' rqmsg = init_head(msgif.rqRtuDataGet()) # for i in range(1000619): # rqmsg.tml_id.append(i) rqmsg.tml_id.extend([1000619]) data = { 'uuid': user_id, 'pb2': base64.b64encode(rqmsg.SerializeToString()) } r = pm.request('POST', url, fields=data, timeout=10.0, retries=False) msg = msgif.CommAns() msg.ParseFromString(base64.b64decode(r.data)) print(msg) time.sleep(0)
def test_sludataget(): global user_id print('=== sludataget ===') url = baseurl + 'sludataget' rqmsg = init_head(msgif.rqSluDataGet()) rqmsg.tml_id.extend([1500001]) rqmsg.data_mark = 7 rqmsg.sluitem_idx = 1 rqmsg.sluitem_num = 5 data = { 'uuid': user_id, 'pb2': base64.b64encode(rqmsg.SerializeToString()) } r = pm.request('POST', url, fields=data, timeout=10.0, retries=False) msg = msgif.CommAns() msg.ParseFromString(base64.b64decode(r.data)) print(msg) time.sleep(0)
def test_submitsms(): global user_id print('=== sms submit ===') url = baseurl + 'submitsms' scode = mx.getMD5('{0}aUd2213F1'.format( mx.stamp2time(time.time(), format_type='%Y%m%d%H'))) rqmsg = msgif.rqSubmitSms() rqmsg.tels.extend([18916788720]) rqmsg.msg = u'tessdf第三方法ta' print(scode, base64.b64encode(rqmsg.SerializeToString())) data = {'scode': scode, 'pb2': base64.b64encode(rqmsg.SerializeToString())} # data = {'scode': scode, 'pb2': 'ChgIAhDI5AkaCXN1Ym1pdHNtc6AGwKfRwwUSCu62yro68vXwjkMaBTU1NTUK'} r = pm.request('POST', url, fields=data, timeout=10.0, retries=False) print(r.data) msg = msgif.CommAns() msg.ParseFromString(base64.b64decode(r.data)) print(msg) print('ipc submit finish') time.sleep(0)
def post(self): legal, rqmsg, msg = yield self.check_arguments(msgws.rqSubmitSms(), msgws.CommAns(), use_scode=1) if legal: strsql = '' t = mx.switchStamp(int(time.time())) for tel in rqmsg.tels: if isinstance(tel, types.LongType): strsql += 'insert into {0}.record_msg_new (date_create,rtu_name,user_phone_number,is_alarm) values ({1},"{2}",{3},2);'.format( self._db_name_data, t, u'{0}'.format(str(rqmsg.msg).strip()), tel) yield self.mydata_collector(strsql, need_fetch=0) # else: # msg.head.if_st = 0 # msg.head.if_msg = 'Security code error' self.write(mx.code_pb2(msg, self._go_back_format)) self.finish() del msg, rqmsg
def test_useradd(): global user_id print('=== useradd===') url = baseurl + 'useradd' rqmsg = init_head(msgif.rqUserAdd()) rqmsg.user = '******' rqmsg.pwd = 'hk' rqmsg.area_id = 7 rqmsg.auth = 5 print(base64.b64encode(rqmsg.SerializeToString())) print(rqmsg) data = { 'uuid': user_id, 'pb2': base64.b64encode(rqmsg.SerializeToString()) } r = pm.request('POST', url, fields=data, timeout=10.0, retries=False) msg = msgif.CommAns() msg.ParseFromString(base64.b64decode(r.data)) print(msg) time.sleep(0)
def post(self): pb2 = self.get_argument('pb2') rqmsg = msgws.rqUserEdit() msg = msgws.CommAns() msg.head.ver = 160328 msg.head.if_dt = int(time.time()) try: rqmsg.ParseFromString(base64.b64decode(pb2)) msg.head.idx = rqmsg.head.idx msg.head.if_st = 1 except: msg.head.if_st = 46 try: strsql='' pd='' # 是否提交了用户旧密码 if rqmsg.pwd_old: pd=' and user_pwd={0}'.format(rqmsg.pwd_old) strsql = 'update {0}.user_info set user_name="{1}",user_alias="{2}", user_pwd="{3}",user_remark="{4}" \ where binary user_name="{5}" {6}'.format(self._db_uas,rqmsg.user,rqmsg.fullname, rqmsg.pwd, rqmsg.remark,rqmsg.user,pd) cur = yield self.mydata_collector(strsql, need_fetch=0, need_paging=0) affected_rows = cur[0][0] if affected_rows > 0: yield self.add_eventlog(2, rqmsg.user_id, 'successfully to edit user {0}'.format(rqmsg.user)) msg.head.if_st = 1 msg.head.if_msg = 'successfully to edit user {0}'.format(rqmsg.user) else: yield self.add_eventlog(2,rqmsg.user_id, 'Wrong username or password') msg.head.if_st = 40 msg.head.if_msg = 'Wrong username or password' except Exception as ex: msg.head.if_st = 0 msg.head.if_msg = str(ex.message) self.write(mx.convertProtobuf(msg)) self.finish()
def post(self): pb2 = self.get_argument('pb2') rqmsg = msgws.rqUserDel() msg = msgws.CommAns() msg.head.ver = 160328 msg.head.if_dt = int(time.time()) try: rqmsg.ParseFromString(base64.b64decode(pb2)) msg.head.idx = rqmsg.head.idx msg.head.if_st = 1 except: msg.head.if_st = 46 # 删除用户 try: #判断是否admin账户,是则返回异常,不是则可以删除 if rqmsg.user != 'admin': # 检查用户名密码是否合法并且删除该用户 strsql = 'delete from {1}.user_info where user_name="{0}" '.format(rqmsg.user,self._db_uas) cur = yield self.mydata_collector(strsql, need_fetch=0, need_paging=0) affected_rows = cur[0][0] if affected_rows > 0: yield self.add_eventlog(3, rqmsg.user_id, 'successfully delete user {0}'.format(rqmsg.user)) msg.head.if_st = 1 msg.head.if_msg = 'successfully delete' else: yield self.add_eventlog(3, rqmsg.user_id, 'Wrong no such user') msg.head.if_st = 46 msg.head.if_msg = 'no such user' else: yield self.add_eventlog(3, rqmsg.user_id, 'Shall not remove the admin user') msg.head.if_st = 0 msg.head.if_msg = "Shall not remove the admin user" del cur, strsql except Exception as ex: msg.head.if_st = 0 msg.head.if_msg = str(ex.message) self.write(mx.convertProtobuf(msg)) self.finish()
def test_sluctlnb(): global user_id print('=== sluctl ===') url = baseurl + 'sluctlnb' rqmsg = init_head(msgif.rqSluCtlNB()) rqmsg.barcode.extend([1]) rqmsg.cmd_idx = 1 rqmsg.operation_type = 3 rqmsg.operation_order = 0 rqmsg.addr_type = 4 rqmsg.cmd_type = 4 rqmsg.addrs.extend([1]) rqmsg.cmd_mix.extend([1, 0, 0, 0]) data = { 'uuid': user_id, 'pb2': base64.b64encode(rqmsg.SerializeToString()) } r = pm.request('POST', url, fields=data, timeout=10.0, retries=False) msg = msgif.CommAns() msg.ParseFromString(base64.b64decode(r.data)) print(msg) time.sleep(0)
def test_sluctl(): global user_id print('=== sluctl ===') url = baseurl + 'sluctl' rqmsg = init_head(msgif.rqSluCtl()) rqmsg.tml_id.extend([1500001]) rqmsg.addr_type = 4 rqmsg.cmd_type = 4 rqmsg.addrs.extend([1, 2, 3]) rqmsg.cmd_mix.extend([1, 0, 0, 0]) data = { 'uuid': user_id, # 'pb2': base64.b64encode(rqmsg.SerializeToString()) 'pb2': 'ChwQyOQJKg84NjIyNTgwMzE0NDg5NjOgBv+pjdIFEgP7xlsgA1AFWgQBAQEBYgoKBAECAwQQBRhk' } r = pm.request('POST', url, fields=data, timeout=10.0, retries=False) msg = msgif.CommAns() msg.ParseFromString(base64.b64decode(r.data)) print(msg) time.sleep(0)
def test_submittcs(): global user_id print('=== sms submit ===') url = baseurl + 'submittcs' scode = mx.getMD5('{0}3a533ba0'.format( mx.stamp2time(time.time(), format_type='%Y%m%d%H'))) rqmsg = msgif.rqSubmitSms() rqmsg.tels.extend([18916788720]) rqmsg.msg = u'tessdf第三方法ta' print(scode, base64.b64encode(rqmsg.SerializeToString())) data = {'scode': scode, 'pb2': base64.b64encode(rqmsg.SerializeToString())} data = { 'scode': scode, 'pb2': 'ChsIAhABGAEgASgBMAE6DXdsc3QucnR1LmEwMDASDwoFgYCA+AcQlU4aARQoAaIG5QGqAeEBCkDYXnvttdfoP9hee+211+g/11prrbXW6D/YXnvttdfoP9VUU0011eg/2WSTTTbZ6D/WVltttdXoP9VSSy211Og/EkC44YYbbrjRP7jhhhtuuNE/N9xwww03vD8ffPDBBx+8PwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGkCcccYZZ5zJP5RRRhlllMk/v/3222+/rT+fffbZZ5+tPwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAII/YAij/AToIAAAAAAEBAQFCCAAAAAAAAAAA' } r = pm.request('POST', url, fields=data, timeout=10.0, retries=False) print(r.data) msg = msgif.CommAns() msg.ParseFromString(base64.b64decode(r.data)) print(msg) print('ipc submit finish') time.sleep(0)
def post(self): legal, rqmsg, msg = yield self.check_arguments(msgtcs.MsgWithCtrl(), msgws.CommAns(), use_scode=1) if legal: try: try: keyhead = self.get_argument('keyhead') except: keyhead = 'tcs.unknow' sfilter = '{0}.{1}'.format(keyhead, rqmsg.head.cmd) libiisi.send_to_zmq_pub(sfilter, rqmsg.SerializeToString()) except Exception as ex: logging.error( base.format_log(self.request.remote_ip, str(ex), self.request.path, 0)) else: logging.error( base.format_log(self.request.remote_ip, 'Security code error', self.request.path, 0)) # self.write('Done.') self.finish() del legal, rqmsg, msg
def test_useredit(): global user_id print('=== useredit ===') url = baseurl + 'useredit' rqmsg = init_head(msgif.rqUserEdit()) rqmsg.user = '******' rqmsg.fullname = 'ad full' rqmsg.pwd = '123' rqmsg.area_id = 10 rqmsg.auth = 15 rqmsg.remark = '123' rqmsg.tel = '12345678901' rqmsg.code = 'xianggong' rqmsg.pwd_old = '123456' data = { 'uuid': user_id, 'pb2': base64.b64encode(rqmsg.SerializeToString()) } # "Cg4IARDI5AmgBomQtpv8KxIFdGVzdDEaBWNlc2hpIggxMjM0NTY3OHIINjI1NDc2MDA="} r = pm.request('POST', url, fields=data, timeout=10.0, retries=False) msg = msgif.CommAns() msg.ParseFromString(base64.b64decode(r.data)) print(msg) time.sleep(0)
def check_uuid(self, args, pb2rq=None, pb2msg=None): # args = self.request.arguments if 'uuid' not in args.keys(): msg = self.init_msgws(msgws.CommAns()) msg.head.if_st = 46 msg.head.if_msg = 'Missing argument uuid' return (None, None, msg, '') user_uuid = args.get('uuid')[0] # 初始化应答消息 if pb2msg is None: pb2msg = msgws.CommAns() msg = self.init_msgws(pb2msg) msg.head.if_st = 1 if pb2rq is not None: rqmsg = pb2rq if 'pb2' not in args.keys(): msg = self.init_msgws(msgws.CommAns()) msg.head.if_st = 46 msg.head.if_msg = 'Missing argument pb2' return (None, None, msg, '') pb2 = args.get('pb2')[0] try: rqmsg = mx.decode_pb2(pb2, pb2obj=rqmsg, fmt=self._pb_format) if rqmsg is None: raise Exception # if self._pb_format == 2: # rqmsg.ParseFromString(pb2) # else: # rqmsg.ParseFromString(base64.b64decode(pb2.replace(' ', '+'))) msg.head.idx = rqmsg.head.idx msg.head.paging_idx = rqmsg.head.paging_idx if rqmsg.head.paging_idx > 0 else 1 msg.head.paging_buffer_tag = rqmsg.head.paging_buffer_tag msg.head.paging_num = rqmsg.head.paging_num if rqmsg.head.paging_num > 0 and rqmsg.head.paging_num <= self._page_num else self._page_num except: msg.head.if_st = 46 return (None, None, msg, '') else: rqmsg = None user_data = None # 检查uuid长度 if len(user_uuid) != 32: msg.head.if_st = 46 # 检查uuid是否合法 if user_uuid in libiisi.cache_user.keys(): user_data = libiisi.cache_user.get(user_uuid) # self._db_name = user_data['user_db'] if user_uuid in libiisi.cache_buildin_users: user_data['active_time'] = time.time() libiisi.cache_user[user_uuid] = user_data if user_data['is_buildin'] == 1: a = self.url_pattern if a[a.rfind('/') + 1:] not in user_data[ 'enable_if'] and 'enable_all' not in user_data[ 'enable_if']: msg.head.if_st = 11 msg.head.if_msg = 'You do not have access to this interface' user_data = None else: if user_data['remote_ip'] != self.request.remote_ip: if not (rqmsg is not None and user_data['source_dev'] == 3 and user_data['unique'] == rqmsg.head.unique): del libiisi.cache_user[user_uuid] contents = 'User source ip is illegal' msg.head.if_st = 12 msg.head.if_msg = contents self.write_event(123, contents, 1, user_name=user_data['user_name'], app_unique=rqmsg.head.unique) user_data = None elif time.time() - user_data['active_time'] > 60 * 30: del libiisi.cache_user[user_uuid] contents = 'User login timed out' msg.head.if_st = 10 msg.head.if_msg = contents self.write_event(122, contents, 1, user_name=user_data['user_name'], app_unique=rqmsg.head.unique) user_data = None else: user_data['active_time'] = time.time() libiisi.cache_user[user_uuid] = user_data else: msg.head.if_st = 10 msg.head.if_msg = 'User is not logged or has timed out' return (user_data, rqmsg, msg, user_uuid)