You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			62 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
| #!/usr/bin/env python
 | |
| import time
 | |
| from http.server import BaseHTTPRequestHandler, HTTPServer
 | |
|  
 | |
| # HTTPRequestHandler class
 | |
| class testHTTPServer_RequestHandler(BaseHTTPRequestHandler):
 | |
|   def do_POST(self):
 | |
|     print('got POST request to ' + self.path)
 | |
|     # add some latency
 | |
|     time.sleep(2)
 | |
|     # Send response status code
 | |
|     self.send_response(201)
 | |
| 
 | |
|     # Send headers
 | |
|     #self.send_header()
 | |
|     self.end_headers()
 | |
| 
 | |
|     #message = self.rfile.read(int(self.headers.get('Content-Length'))).decode('UTF-8')
 | |
|     length = self.headers.get('Content-Length')
 | |
|     for (k,v) in self.headers.items():
 | |
|       print(k + ':' + v)
 | |
|     if length:
 | |
|       print ('length: ' + self.headers.get('Content-Length'))
 | |
|       message = self.rfile.read(int(length))
 | |
|     
 | |
|       array = []
 | |
|       for k in message:
 | |
|         array += [k]
 | |
|       print(array)
 | |
|     # Send message back to client
 | |
|     #message = "ok"
 | |
|     # Write content as utf-8 data
 | |
|     #self.wfile.write(bytes(message, "utf8"))
 | |
| 
 | |
|   # GET
 | |
|   def do_GET(self):
 | |
|     # Send response status code
 | |
|     time.sleep(1)
 | |
|     self.send_response(200)
 | |
| 
 | |
|     # Send headers
 | |
|     self.send_header('Content-type','text/html')
 | |
|     self.end_headers()
 | |
| 
 | |
|     # Send message back to client
 | |
|     message = "Hello world!"
 | |
|     # Write content as utf-8 data
 | |
|     self.wfile.write(bytes(message, "utf8"))
 | |
|     return
 | |
|  
 | |
| def run():
 | |
|   print('starting server...')
 | |
|  
 | |
|   # Server settings
 | |
|   # Choose port 8080, for port 80, which is normally used for a http server, you need root access
 | |
|   server_address = ('127.0.0.1', 80)
 | |
|   httpd = HTTPServer(server_address, testHTTPServer_RequestHandler)
 | |
|   print('running server...')
 | |
|   httpd.serve_forever()
 | |
|  
 | |
|  
 | |
| run() |