From 9d4c2a72ee2ec20c8f0cd0da6a1e6e95be70a0b5 Mon Sep 17 00:00:00 2001 From: dylan Date: Tue, 17 May 2022 01:32:41 -0400 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20'server.py'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit style --- server.py | 48 +++++++++++++++++++++++++++++++++++------------- 1 file changed, 35 insertions(+), 13 deletions(-) diff --git a/server.py b/server.py index 973a228..bb33038 100644 --- a/server.py +++ b/server.py @@ -23,35 +23,47 @@ while True: s.listen(3) conn, addr = s.accept() request = conn.recv(4096) - print (request) - method = request.decode().split(' ')[0] + # print (request) + try: + method = request.decode().split(' ')[0] + except: + print ("Unexpected method:", request) if method == 'POST': - ctype = request.decode().split('Content-Type: ')[1].splitlines()[0] + try: + ctype = request.decode().split('Content-Type: ')[1].splitlines()[0] + except: + print ("Unexpected ctype:", request) # print (ctype) # ctype = ctype[1].splitlines()[0] # src = request.decode().split(' ')[1] body = request.decode().split('\r\n\r\n', 1)[1] - single = body.split('&',1) - sender = single[0].split('=',1) + try: + single = body.split('&',1) + sender = single[0].split('=',1) + except: + print ("Unexpected body:", request) # print (request) - print (request.decode()) - print (request.decode('utf-8')) - print (single) - print (ctype) - print ("----------------------------------------------") + #print (request.decode()) + #print (request.decode('utf-8')) + # print (single) + #print (ctype) + #print ("----------------------------------------------") if method == 'POST' and ctype == 'application/x-www-form-urlencoded': - message = single[1].split('=',1) + try: + message = single[1].split('=',1) + except: + print ("Unexpected error:", request) # print (message[1][:-1]) # print (message[1][:-1], bytes) # print (message[1][:-1].encode()) # print ("&&&&&&&&&&&&&&&&&") # m = message[1].replace("b", "").replace("'", "") # print (m) - with open('/dev/usb/lp0', 'w', encoding='gb2312') as printer: + with open('/dev/usb/lp0', 'w', encoding='gbk') as printer: # printer.write('\n'+str(addr)+'\n') printer.write(str(request.decode())+'\n') # printer.write('\n'*2+str(body)+'\n') @@ -61,9 +73,19 @@ while True: m = urllib.parse.unquote(message[1]) #o = str(m).encode('gb2312').decode('latin2') #p = str(m).encode() + printer.write('\x1b\x61\x01') + printer.write('\x1b\x21\x30') + printer.write("您有一条新短信,请查收!"+'\n') + printer.write('\x1b\x61\x00') + printer.write('\x1b\x21\x00') + printer.write('\x1b\x45\x01') printer.write(urllib.parse.unquote(sender[1])+'\n') + printer.write('\x1b\x45\x00') #printer.write(urllib.parse.unquote(message[1], encoding="utf-8")+'\n') - printer.write(m+'\n') + try: + printer.write(m+'\n') + except: + print ("Error from Printer:", m) #printer.write(p+'\n') #print (sender) #print (message[1])