深入了解一下PYTHON中关于SOCKETSERVER的模块-B
生活随笔
收集整理的這篇文章主要介紹了
深入了解一下PYTHON中关于SOCKETSERVER的模块-B
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
請求多個文件的原型。
這個是最草的情況,就是硬編碼到內存中的字符串,
真實的應用還是會轉到其它端口處理,或是讀到硬盤上的文件吧。
#!/usr/bin/env pythonfrom BaseHTTPServer import HTTPServer, BaseHTTPRequestHandler import timestarttime = time.time()class RequestHandler(BaseHTTPRequestHandler):"""Definintion of the request hadnler."""def _writeheaders(self, doc):"""Write the HTTP headers for the document. If there is nodocumnet, send a 404 error code;"""if doc is None:self.send_response(404)else:self.send_response(200)#Always server up HTML for now.self.send_header('Content-type', 'text/html')self.end_headers()def _getdoc(self, filename):"""Handle a request for a document """global starttimeif filename == '/':return """<HTML><HEAD><TITLE>sample python page</TITLE></HEAD><BODY> THIS IS A SAMPLE PAGE.</BODY></HTML>"""elif filename == '/stats.html':return """<HTML><HEAD><TITLE>Status</TITLE></HEAD><BODY> This server has veen running for %d seconds.</BODY></HTML>""" % int(time.time() - starttime)else:return Nonedef do_HEAD(self):"""Handle a request for headers only"""doc = self._getdoc(self.path)self._writeheaders(doc)def do_GET(self):"""Handle a request for headers and body"""doc = self._getdoc(self.path)self._writeheaders(doc)if doc is None:self.wfile.write("""<HTML><HEAD><TITLE>Not found</TITLE></HEAD><BODY> The requested document '%s' was not found.</BODY></HTML>""" % self.path)else:self.wfile.write(doc) serveraddr = ('',8765) srvr = HTTPServer(serveraddr, RequestHandler) srvr.serve_forever()轉載于:https://www.cnblogs.com/aguncn/p/4813026.html
總結
以上是生活随笔為你收集整理的深入了解一下PYTHON中关于SOCKETSERVER的模块-B的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: json回显
- 下一篇: 《网络编程》ioctl 操作