import string,cgi,time
from os import curdir, sep
from Bas [HTTPServer] import Bas [HTTPRequestHandler,] HTTPServer
class MyRequestHandler(Bas [HTTPRequestHandler):] def do_GET(self):
try:
if self.path.endswith('.html'):
f = open(curdir + sep + self.path)
self.send_response(200)
self.send_header('Content-type','text/html')
self.end_headers()
self.wfile.write(f.read())
f.close()
return
elif self.path.endswith('.py'):
self.send_response(200)
self.send_header('Content-type','text/html')
self.end_headers()
self.wfile.write("hey, today is the" + str(time.localtime()[7]))
self.wfile.write(" day in the year " + str(time.localtime()[0]))
return
else:
self.send_error(404, 'File Not Found %s' % self.path)
except IOError:
self.send_error(404,'File Not Found: %s' % self.path)
def do_POST(self):
global rootnode
try:
ctype, pdict = cgi.parse_header(self.headers.getheader('content-type')) #('multipart/form-data', {'boundary': '303161840321948'})
if ctype == 'multipart/form-data':
query = cgi.parse_multipart(self.rfile, pdict)
self.send_response(301)
self.end_headers()
upfilecontent = query.get('upfile')
print "filecontent", upfilecontent[0]
self.wfile.write('POST OK!')
self.wfile.write(upfilecontent[0])
except :
pass
def main():
try:
server = [HTTPServer(('',] 80), MyRequestHandler)
print 'started [httpserver...'] server.serve_forever()
except KeyboardInterrupt:
print '^C received, shutting down server'
server.socket.close()
if __name__ == '__main__':
main()
扩展阅读: