diff --git a/server.py b/server.py index 9fc4689..973a228 100644 --- a/server.py +++ b/server.py @@ -1,4 +1,5 @@ import socket +import urllib.parse HOST = '' PORT = 8000 @@ -7,7 +8,7 @@ content = b'''HTTP/1.x 200 OK Content-Type: text/html - + WOW @@ -22,29 +23,53 @@ while True: s.listen(3) conn, addr = s.accept() request = conn.recv(4096) - method = request.decode().split(' ')[0] - ctype = request.decode().split('Content-Type: ')[1].split('\r\n')[0] - # src = request.decode().split(' ')[1] - body = request.decode('utf-8').split('\r\n\r\n', 1)[1] - single = str(body.encode('utf-8')).split('&',1) - sender = single[0].split('=',1) - print (request) - + method = request.decode().split(' ')[0] + if method == 'POST': + ctype = request.decode().split('Content-Type: ')[1].splitlines()[0] + # 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) + + # print (request) + 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) - with open('/dev/usb/lp0', 'w') as printer: - printer.write('\n'+str(addr)+'\n') - printer.write(str(request.decode('utf-8'))+'\n') + # 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: + # printer.write('\n'+str(addr)+'\n') + printer.write(str(request.decode())+'\n') # printer.write('\n'*2+str(body)+'\n') # printer.write(single[0]+'\n') # printer.write(single[1]+'\n') # printer.write(sender[0]+'\n') - printer.write(sender[1]+'\n') - printer.write(message[1][:-1]+'\n') - print (sender) - print (message) - print (ctype) + m = urllib.parse.unquote(message[1]) + #o = str(m).encode('gb2312').decode('latin2') + #p = str(m).encode() + printer.write(urllib.parse.unquote(sender[1])+'\n') + #printer.write(urllib.parse.unquote(message[1], encoding="utf-8")+'\n') + printer.write(m+'\n') + #printer.write(p+'\n') + #print (sender) + #print (message[1]) + #print (ctype) + #print (urllib.parse.unquote(message[1])+'\n') + #print (urllib.parse.unquote(message[1], encoding="utf-8")+'\n') conn.sendall(content) conn.close() \ No newline at end of file