2022-05-02 09:56:08 -04:00
|
|
|
import socket
|
2022-05-06 20:18:28 -04:00
|
|
|
import urllib.parse
|
2022-05-02 09:56:08 -04:00
|
|
|
|
|
|
|
HOST = ''
|
|
|
|
PORT = 8000
|
|
|
|
|
|
|
|
content = b'''HTTP/1.x 200 OK
|
2022-05-05 05:25:47 -04:00
|
|
|
Content-Type: text/html
|
|
|
|
|
|
|
|
<head>
|
2022-05-06 20:18:28 -04:00
|
|
|
<meta http-equiv="refresh" content="1; url=http://chat.pedantries.com/fax/">
|
2022-05-05 05:25:47 -04:00
|
|
|
<title>WOW</title>
|
|
|
|
</head>
|
|
|
|
<html>
|
|
|
|
<p>Wow, Python Server</p>
|
|
|
|
</html>
|
2022-05-02 09:56:08 -04:00
|
|
|
'''
|
|
|
|
|
|
|
|
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)
|
2022-05-06 20:18:28 -04:00
|
|
|
print (request)
|
2022-05-02 09:56:08 -04:00
|
|
|
method = request.decode().split(' ')[0]
|
2022-05-06 20:18:28 -04:00
|
|
|
if method == 'POST':
|
|
|
|
ctype = request.decode().split('Content-Type: ')[1].splitlines()[0]
|
|
|
|
# print (ctype)
|
|
|
|
# ctype = ctype[1].splitlines()[0]
|
|
|
|
|
2022-05-03 04:29:28 -04:00
|
|
|
# src = request.decode().split(' ')[1]
|
2022-05-06 20:18:28 -04:00
|
|
|
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 ("----------------------------------------------")
|
|
|
|
|
2022-05-02 09:56:08 -04:00
|
|
|
|
2022-05-05 05:25:47 -04:00
|
|
|
if method == 'POST' and ctype == 'application/x-www-form-urlencoded':
|
2022-05-03 04:29:28 -04:00
|
|
|
message = single[1].split('=',1)
|
2022-05-06 20:18:28 -04:00
|
|
|
# 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')
|
2022-05-03 04:29:28 -04:00
|
|
|
# printer.write('\n'*2+str(body)+'\n')
|
|
|
|
# printer.write(single[0]+'\n')
|
|
|
|
# printer.write(single[1]+'\n')
|
|
|
|
# printer.write(sender[0]+'\n')
|
2022-05-06 20:18:28 -04:00
|
|
|
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')
|
2022-05-02 09:56:08 -04:00
|
|
|
conn.sendall(content)
|
|
|
|
|
|
|
|
conn.close()
|