go!go!go!
全部博文(188)
分类: Python/Ruby
2013-02-24 15:37:49
支持多线程的webserver
#!/usr/bin/python from SocketServer import ThreadingMixIn from BaseHTTPServer import HTTPServer,BaseHTTPRequestHandler class myHandler(BaseHTTPRequestHandler): #Handler for the GET requests def do_GET(self): self.send_response(200) self.send_header('Content-type','text/html') self.send_header('Uri',self.path) self.end_headers() self.wfile.write("hi multi threading test!\n") class ThreadingHttpServer(ThreadingMixIn, HTTPServer): pass PORT_NUM=8080 serverAddress=("", PORT_NUM) server=ThreadingHttpServer(serverAddress, myHandler) print 'Started httpserver on port ' , PORT_NUM server.serve_forever()
测试:
curl -v
[root@localhost ~]# curl -v * About to connect() to 127.0.0.1 port 8080 * Trying 127.0.0.1... connected * Connected to 127.0.0.1 (127.0.0.1) port 8080 > GET / HTTP/1.1 > User-Agent: curl/7.15.5 (x86_64-redhat-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5 > Host: 127.0.0.1:8080 > Accept: */* > < HTTP/1.0 200 OK < Server: BaseHTTP/0.3 Python/2.4.3 < Date: Sun, 24 Feb 2013 07:28:46 GMT < Content-type: text/html < Uri: / hi multi threading test! * Closing connection #0