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

#!/usr/bin/env python
#--coding:utf-8--from http.server import BaseHTTPRequestHandler, HTTPServer
from os import path
from urllib.parse import urlparsecurdir = path.dirname(path.realpath(__file__))
sep = '/'# MIME-TYPE
mimedic = [('.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):# GETdef do_GET(self):sendReply = Falsequerypath = urlparse(self.path)filepath, query = querypath.path, querypath.queryif filepath.endswith('/'):filepath += 'index.html'filename, fileext = path.splitext(filepath)for e in mimedic:if e[0] == fileext:mimetype = e[1]sendReply = Trueif 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 = 8000print('starting server, port', port)# Server settingsserver_address = ('', port)httpd = HTTPServer(server_address, testHTTPServer_RequestHandler)print('running server...')httpd.serve_forever()if __name__ == '__main__':run()

Python3实现简单的http server相关推荐

  1. Python3实现简单可学习的手写体识别

    0.目录 1.前言 2.通过pymssql与数据库的交互 3.通过pyqt与界面的交互 4.UI与数据库的交互 5.最后的main主函数 1.前言 版本:Python3.6.1 + PyQt5 + S ...

  2. Python3:简单的服务器(socketserver + MySQL)

    本文将用实例讲解使用Python3编写简单的服务器程序,实现socket网络编程与MySQL数据库连接.本文的目的在于对网上众多博文的总结,以及对socket编程和MySQL连接与操作的学习总结. 本 ...

  3. 3745路由器配置简单的dhcp server

    3745路由器配置简单的dhcp server    本文用的是GNS的模拟器来完成dhcp分配的,这款路由器的历史比较老了,然后用带dhcp snooping的交换机来完成监听功能.    实现还是 ...

  4. python3爬虫实例-python3.7简单的爬虫实例详解

    python3.7简单的爬虫,具体代码如下所示: #https://www.runoob.com/w3cnote/python-spider-intro.html #Python 爬虫介绍 impor ...

  5. python爬虫实例-python3.7简单的爬虫实例详解

    python3.7简单的爬虫,具体代码如下所示: #https://www.runoob.com/w3cnote/python-spider-intro.html #Python 爬虫介绍 impor ...

  6. wsgiserver python 漏洞_简单的WSGI server

    参考:https://ruslanspivak.com/lsbaws-part1/ 简单的WSGI server server程序 webserver.py # Tested with Python ...

  7. tomcat(1)一个简单的web server

    [0]README 0.1)本文部分描述转自"深入剖析tomcat", 旨在学习  一个简单的web server  的基础知识: 0.2)for complete source ...

  8. python3一个简单的网页抓取

    python3一个简单的网页抓取 都是学PYTHON.怎么学都是学,按照基础学也好,按照例子增加印象也好,反正都是学 import urllib import urllib.requestdata={ ...

  9. 一个简单的http server,处理get和post请求,Python实现

    一个简单的http server,能处理来自客户的get请求,以及post请求,Python实现.因为只是测试http服务器,代码只是把每次请求的数据打印出来,并返回一个响应ok的字符串. from ...

  10. python3实现简单的朗读器脚本(GUI)

    python3实现简单朗读器脚本(GUI)(朗读输入文本) 环境及安装 python3 pip install pyqt5 pip install pywin32 若遇到ReadTimeOutErro ...

最新文章

  1. IntelliJ IDEA中JAVA连接MYSQL
  2. AIR for IOS开发问题小结
  3. light task schedule的定时任务实现源码解析
  4. Oracle 20c 新特性:SQL 宏支持(SQL Macro)Scalar 和 Table 模式
  5. unity三维向量变化为角度_三维旋转
  6. Android 驱动(9)----设备树(一)linux内核主线了解dts
  7. 阿里RDS开发专家解析MySQL各版本并行复制
  8. 打工好,还是创业好?
  9. iphone socket讲解
  10. php rabbmq教程_PHP+RabbitMQ实现消息队列的完整代码
  11. python写采集程序_Python爬虫小说采集程序
  12. 【informix】informix 日期字段
  13. substring用法,between...and用法 trim标签的用法 模糊查询
  14. 云片:批量发送超级短信示例
  15. 使用R语言绘制graph:无向图(ug)和有向无环图(dag)
  16. 【CTF】Ubuntu 安装 GDB peda
  17. VB:如何设置Richtextbox的行间距
  18. 图神经网络--图神经网络
  19. 不可思议,作家王小波居然是国内第一代程序员!
  20. 联想K3-Note固件编译,牛扎糖或更进一步?

热门文章

  1. IDC 发布《中国视频云市场跟踪》最新报告,视频云市场将趋向何方?
  2. Selenium 爬取微信公众号文章并保存为pdf与长图片(2022-06-09更新版)
  3. crt是什么意思 windows编程_软件工程师应该知道的关于Windows API、CRT和STL二三事...
  4. 数列极限:无穷量与待定型
  5. 运放专题:电压电流转换
  6. 如何设计一份令人舒服的PPT
  7. 英文打字训练程序c语言,x86汇编实现英文打字练习软件
  8. 暗时间--BY刘未鹏
  9. 人工智能学习资源汇总
  10. 河南省第四届ACM程序设计大赛(共八道,目前只做两道。待续)