首页 > 编程知识 正文

Python3实现简单的http server,vue实现简单的网页计算器

时间:2023-05-06 15:08:04 阅读:242322 作者:1102

前端的开发的html给我们的时候,由于内部有一些ajax请求的.json的数据,需要在一个web server中查看,每次放到http服务器太麻烦。还是直接用python造一个最方便。
最简单的,直接用
python3 -m http.server
但是我在测试的时候发现在收到json数据的时候,由于content-type不对,部分内容显示不出来,于是写出来新版本.
这个版本加了几种常见的mimetype的支持。
在Mac下使用python3 myhttpserver.py启动。

#!/usr/dyddc/env python#--coding:utf-8--from http.server import BaseHTTPRequestHandler, HTTPServerfrom os import pathfrom urllib.parse import urlparsecurdir = path.dirname(path.realpath(__file__))sep = '/'# MIME-TYPEmimedic = [ ('.html', 'text/html'), ('.htm', 'text/html'), ('.js', 'application/javascript'), ('.css', 'text/css'), ('.json', 'application/json'), ('.png', 'image/png'), ('.jpg', 'image/jpeg'), ('.gif', 'image/gif'), ('.txt', 'text/plain'), ('.avi', 'video/x-msvideo'), ]class testHTTPServer_RequestHandler(BaseHTTPRequestHandler): # GET def do_GET(self): sendReply = False querypath = urlparse(self.path) filepath, query = querypath.path, querypath.query if filepath.endswith('/'): filepath += 'index.html' filename, fileext = path.splitext(filepath) for e in mimedic: if e[0] == fileext: mimetype = e[1] sendReply = True if sendReply == True: try: with open(path.realpath(curdir + sep + filepath),'rb') as f: content = f.read() self.send_response(200) self.send_header('Content-type',mimetype) self.end_headers() self.wfile.write(content) except IOError: self.send_error(404,'File Not Found: %s' % self.path)def run(): port = 8000 print('starting server, port', port) # Server settings server_address = ('', port) httpd = HTTPServer(server_address, testHTTPServer_RequestHandler) print('running server...') httpd.serve_forever()if __name__ == '__main__': run()

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。