Python3实现简单的http server
前端的开发的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相关推荐
- Python3实现简单可学习的手写体识别
0.目录 1.前言 2.通过pymssql与数据库的交互 3.通过pyqt与界面的交互 4.UI与数据库的交互 5.最后的main主函数 1.前言 版本:Python3.6.1 + PyQt5 + S ...
- Python3:简单的服务器(socketserver + MySQL)
本文将用实例讲解使用Python3编写简单的服务器程序,实现socket网络编程与MySQL数据库连接.本文的目的在于对网上众多博文的总结,以及对socket编程和MySQL连接与操作的学习总结. 本 ...
- 3745路由器配置简单的dhcp server
3745路由器配置简单的dhcp server 本文用的是GNS的模拟器来完成dhcp分配的,这款路由器的历史比较老了,然后用带dhcp snooping的交换机来完成监听功能. 实现还是 ...
- python3爬虫实例-python3.7简单的爬虫实例详解
python3.7简单的爬虫,具体代码如下所示: #https://www.runoob.com/w3cnote/python-spider-intro.html #Python 爬虫介绍 impor ...
- python爬虫实例-python3.7简单的爬虫实例详解
python3.7简单的爬虫,具体代码如下所示: #https://www.runoob.com/w3cnote/python-spider-intro.html #Python 爬虫介绍 impor ...
- wsgiserver python 漏洞_简单的WSGI server
参考:https://ruslanspivak.com/lsbaws-part1/ 简单的WSGI server server程序 webserver.py # Tested with Python ...
- tomcat(1)一个简单的web server
[0]README 0.1)本文部分描述转自"深入剖析tomcat", 旨在学习 一个简单的web server 的基础知识: 0.2)for complete source ...
- python3一个简单的网页抓取
python3一个简单的网页抓取 都是学PYTHON.怎么学都是学,按照基础学也好,按照例子增加印象也好,反正都是学 import urllib import urllib.requestdata={ ...
- 一个简单的http server,处理get和post请求,Python实现
一个简单的http server,能处理来自客户的get请求,以及post请求,Python实现.因为只是测试http服务器,代码只是把每次请求的数据打印出来,并返回一个响应ok的字符串. from ...
- python3实现简单的朗读器脚本(GUI)
python3实现简单朗读器脚本(GUI)(朗读输入文本) 环境及安装 python3 pip install pyqt5 pip install pywin32 若遇到ReadTimeOutErro ...
最新文章
- IntelliJ IDEA中JAVA连接MYSQL
- AIR for IOS开发问题小结
- light task schedule的定时任务实现源码解析
- Oracle 20c 新特性:SQL 宏支持(SQL Macro)Scalar 和 Table 模式
- unity三维向量变化为角度_三维旋转
- Android 驱动(9)----设备树(一)linux内核主线了解dts
- 阿里RDS开发专家解析MySQL各版本并行复制
- 打工好,还是创业好?
- iphone socket讲解
- php rabbmq教程_PHP+RabbitMQ实现消息队列的完整代码
- python写采集程序_Python爬虫小说采集程序
- 【informix】informix 日期字段
- substring用法,between...and用法 trim标签的用法 模糊查询
- 云片:批量发送超级短信示例
- 使用R语言绘制graph:无向图(ug)和有向无环图(dag)
- 【CTF】Ubuntu 安装 GDB peda
- VB:如何设置Richtextbox的行间距
- 图神经网络--图神经网络
- 不可思议,作家王小波居然是国内第一代程序员!
- 联想K3-Note固件编译,牛扎糖或更进一步?