#coding=utf-8
from BaseHTTPServer import HTTPServer,BaseHTTPRequestHandler
import urllib
class MyHandler(BaseHTTPRequestHandler):
def do_GET(self):
self.send_response(200)
self.send_header('Content-type','text/html')
self.end_headers() #发送\r\n,意味这下一行为报体
#send html message,
self.wfile.write('hello,nanxiaoting')
return
if __name__ == '__main__': #注意main后面没有括号
try:
server = HTTPServer(('',8080),MyHandler)
server.serve_forever()
except KeyboardInterrupt:
print '^c received,shutting down the web server!'
server.socket.close()
在浏览器输入 http://127.0.0.1:8080
就会出现 hello,nanxiaoting
2.读取静态文件,像index.html, style.css, javascript和images:
首先贴出index.html :
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>My web</title>
</head>
<body>
<h1>hi</h1>
<p1>hello world</p1>
<img src="./a.jpg">
</body>
</html>
其中,a.jpg为当前目录下的图片
#coding=utf-8
from BaseHTTPServer import BaseHTTPRequestHandler,HTTPServer
PORT_NUMBER = 8080
cur_dir = './'
#This class will handles any incoming request from
#the browser
class myHandler(BaseHTTPRequestHandler):
#Handler for the GET requests
def do_GET(self):
if self.path=="/":
self.path="/index.html"
try:
#Check the file extension required and
#set the right mime type
sendReply = False
if self.path.endswith(".html"):
mimetype='text/html'
sendReply = True
if self.path.endswith(".jpg"):
mimetype='image/jpg'
sendReply = True
if self.path.endswith(".gif"):
mimetype='image/gif'
sendReply = True
if self.path.endswith(".js"):
mimetype='application/javascript'
sendReply = True
if self.path.endswith(".css"):
mimetype='text/css'
sendReply = True
if sendReply == True:
#Open the static file requested and send it
f = open(cur_dir + self.path)
self.send_response(200)
self.send_header('Content-type',mimetype)
self.end_headers()
self.wfile.write(f.read())
f.close()
return
except IOError:
self.send_error(404,'File Not Found: %s' % self.path)
try:
#Create a web server and define the handler to manage the
#incoming request
server = HTTPServer(('', PORT_NUMBER), myHandler)
print 'Started httpserver on port ', PORT_NUMBER
#Wait forever for incoming http requests
server.serve_forever()
except KeyboardInterrupt:
print '^C received, shutting down the web server'
server.socket.close()
在浏览器输入,http://127.0.0.1:8080 。出现: