Skip to content

Commit a3e63f2

Browse files
committed
Create CGI Server
1 parent 7f1ce8f commit a3e63f2

3 files changed

Lines changed: 58 additions & 0 deletions

File tree

cgiServer.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#!/usr/bin/env python
2+
3+
import SocketServer, CGIHTTPServer
4+
5+
class HttpRequestHandler(CGIHTTPServer.CGIHTTPRequestHandler):
6+
def do_GET(self):
7+
if self.path=="/admin":
8+
self.wfile.write("This page is only for Admins!")
9+
else:
10+
CGIHTTPServer.CGIHTTPRequestHandler.do_GET(self)
11+
12+
httpServer = SocketServer.TCPServer(('localhost', 10000), HttpRequestHandler)
13+
14+
httpServer.server_name='localhost'
15+
httpServer.server_port=10000
16+
httpServer.serve_forever()

cgiServerPython3_5.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#!/usr/bin/env python
2+
3+
import SocketServer, http.server
4+
5+
class HttpRequestHandler(http.server.SimpleHTTPRequestHandler):
6+
def do_GET(self):
7+
if self.path=="/admin":
8+
self.wfile.write("This page is only for Admins!")
9+
else:
10+
http.server.SimpleHTTPReqestHandler.do_GET(self)
11+
12+
httpServer = SockerServer.TCPServer(('localhost', 8000), HttpRequestHandler)
13+
14+
httpServer.server_name='localhost'
15+
httpServer.server_port=20000
16+
httpServer.serve_forever

multithreaded_socket_server.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
#!/usr/bin/env python
2+
3+
import SocketServer, threading
4+
5+
class ThreadedEchoHandler(SocketServer.BaseRequestHandler):
6+
def handle(self):
7+
print "Connetion from: ", self.client_address
8+
data = 'dummy'
9+
while len(data):
10+
data = self.request.recv(4096)
11+
print "Client sent: ", data
12+
self.request.send(data)
13+
14+
print "Client left..."
15+
16+
class ThreadedEchoServer(SocketServer.ThreadingMixIn, SocketServer.TCPServer):
17+
pass
18+
19+
20+
serverAddress= ('localhost', 8888)
21+
22+
server = ThreadedEchoServer(serverAddress, ThreadedEchoHandler)
23+
24+
t = threading.Thread(target=server.serve_forever)
25+
t.setDaemon=True
26+
t.start()

0 commit comments

Comments
 (0)