import socket import urllib.parse HOST = '' PORT = 8000 content = b'''HTTP/1.x 200 OK Content-Type: text/html WOW

Wow, Python Server

''' s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.bind((HOST, PORT)) while True: s.listen(3) conn, addr = s.accept() request = conn.recv(4096) 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) # 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') 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()