Python Base HTTP Server

本文介绍了一个简单的 Python HTTP 服务器实现,该服务器响应 GET 请求并返回一个包含随机引用的 HTML 页面。此示例展示了如何使用 BaseHTTPServer 和 CGI 模块来创建 Web 服务器。
import BaseHTTPServer
import cgi, random, sys
MESSAGES = [
"That's as maybe, it's still a frog.",
"Albatross! Albatross! Albatross!",
"It's Wolfgang Amadeus Mozart.",
"A pink form from Reading.",
"Hello people, and welcome to 'It's a Tree.'"
"I simply stare at the brick and it goes to sleep.",
]

class Handler(BaseHTTPServer.BaseHTTPRequestHandler):
    def do_GET(self):
        if self.path != "/":
            self.send_error(404,"file not found");
            return
        
        self.send_response(200)
        self.send_header("Content-type","text/html")
        self.end_headers()
        try:
            #redirect stdout to client
            stdout=sys.stdout
            sys.stdout=self.wfile
            self.makepage()
        finally:
            sys.stdout=stdout #restore
    
    def makepage(self):
        #generate a random msg
        tagline=random.choice(MESSAGES)
        print "<html><title>toast</title><body><p>Today's quote:<i>"
        print cgi.escape(tagline)
        print "</i></body></html>"

PORT=8000
httpd=BaseHTTPServer.HTTPServer(("",PORT),Handler)
print "serving at port",PORT
httpd.serve_forever()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值