python3 http.server备忘
python3英文的
打印出来应该不错:
https://docs.python.org/3/library/http.server.html#module-http.server
python2.7
我的理解一个webserver需要两个东西:一个是server(用于监听的类)、一个是handler(用于处理连接的类)
python2中常用的库有两个:BaseHTTPServer、SimpleHTTPServer
- BaseHTTPServer里面只有两个类:一个叫HTTPServer用于监听,一个BaseHTTPRequestHandler用于处理连接。有这两个类就已经够完成工作的了,通常你需要重写handler来精确的处理get、post等请求
#! -*- coding:utf-8 -*-
__author__ = ''
#!/usr/bin/python
from BaseHTTPServer import BaseHTTPRequestHandler,HTTPServer
class MyHandler(BaseHTTPRequestHandler):
def do_GET(self):
try:
f=open(self.path[1:],'r') # 获取客户端输入的页面文件名称
self.send_response(200)#如果正确返回200
self.send_header('Content-type','text/html') #定义下处理的文件的类型
self.end_headers()#结束处理
self.wfile.write(f.read())#通过wfile将下载的页面传给客户
f.close() #关闭
except IOError:
self.send_error(404, 'file not found: %s'%self.path)
def main():
try:
server=HTTPServer(('127.0.0.1',8080),MyHandler) #启动服务
print'welcome to the server'
print 'quit jieshu'
server.serve_forever()# 一直运行
except KeyboardInterrupt:
print 'shutdong doen server'
server.socket.close()
if __name__=='__main__':
main()
- SimpleHTTPServer里面只有一个类:SimpleHTTPRequestHandler,也是一个handler,或许和它的名字一样Simple,是它存在的原因
学习资料(还没看)
- Python 标准库 BaseHTTPServer 中文翻译
- 关于 BaseHTTPServer 的介绍
- 非常简单的Python HTTP服务
python3 http.server备忘的更多相关文章
- Bonobo Git Server (Simple git server for Windows.) 测试备忘
Bonobo Git Server是一款Windows上的Git Server,它使用IIS即可,走的是Http协议,只要简单的安装就能使用,但是因为我的项目大小有1.35GB在 push 的时候一直 ...
- SQL Server修改标识列方法(备忘)
原文:SQL Server修改标识列方法(备忘) SQL Server修改标识列方法 ----允许对系统表进行更新 exec sp_configure 'allow updates',1 reconf ...
- GIS部分理论知识备忘随笔
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.高斯克吕格投影带换算 某坐标的经度为112度,其投影的6度带和3度带 ...
- Nmap备忘单:从探索到漏洞利用(Part 5)
这是备忘单的最后一部分,在这里主要讲述漏洞评估和渗透测试. 数据库审计 列出数据库名称 nmap -sV --script=mysql-databases 192.168.195.130 上图并没有显 ...
- Nmap备忘单:从探索到漏洞利用(Part 2)
这是我们的第二期NMAP备忘单(第一期在此).基本上,我们将讨论一些高级NMAP扫描的技术,我们将进行一个中间人攻击(MITM).现在,游戏开始了. TCP SYN扫描 SYN扫描是默认的且最流行的扫 ...
- Socket网络通讯开发总结之:Java 与 C进行Socket通讯 + [备忘] Java和C之间的通讯
Socket网络通讯开发总结之:Java 与 C进行Socket通讯 http://blog.sina.com.cn/s/blog_55934df80100i55l.html (2010-04-08 ...
- Zookeeper + Hadoop + Hbase部署备忘
网上类似的文章很多,本文只是记录下来备忘.本文分四大步骤: 准备工作.安装zookeeper.安装hadoop.安装hbase,下面分别详细介绍: 一 准备工作 1. 下载 zookeeper.had ...
- SSO之CAS备忘
http://blog.chinaunix.net/uid-28380443-id-4740103.html 自己负责的公司基于CAS单点登录平台架构已经上线运行,很多细节的东西是时候备忘一下了,开源 ...
- Linq to XML 读取XML 备忘笔记
本文转载:http://www.cnblogs.com/infozero/archive/2010/07/13/1776383.html Linq to XML 读取XML 备忘笔记 最近一个项目中有 ...
随机推荐
- Bootstrap4 网格系统
学习注意事项 col-*-* 第一个*是设备类型,第二个*是控件宽度的占比 屏幕被等分为12,col-1宽度是1/12,col-6宽度是50%,col-12宽度是100% 给应用了class的elem ...
- YTU 2509: 奇怪的分式
2509: 奇怪的分式 时间限制: 1 Sec 内存限制: 128 MB 提交: 113 解决: 48 题目描述 上小学的时候,小明经常自己发明新算法.一次,老师出的题目是: 1/4 乘以 8 ...
- EasyUI Datagrid 分页显示(客户端)
转自:https://blog.csdn.net/metal1/article/details/17536185 EasyUI Datagrid 分页显示(客户端) By ZYZ 在使用JQuery ...
- 在visual studio code和visual studio中编写TypeScript文件自动生成JavaScript文件
注:此处的自动生成都为保存ts文件时自动生成js文件 VS CODE 只需要在TypeScript的终端控制台中输入如下命令即可,并注意需要将其中的*换成对应的文件名,此处的*似乎不能作为通用匹配. ...
- bzoj 1579: [Usaco2009 Feb]Revamping Trails 道路升级【分层图+spfa】
至死不用dijskstra系列2333,洛谷上T了一个点,开了O2才过 基本想法是建立分层图,就是建k+1层原图,然后相邻两层之间把原图的边在上一层的起点与下一层的终点连起来,边权为0,表示免了这条边 ...
- [51nod]1678 lyk与gcd(莫比乌斯反演)
题面 传送门 题解 和这题差不多 //minamoto #include<bits/stdc++.h> #define R register #define pb push_back #d ...
- 最大流增广路(KM算法) HDOJ 1853 Cyclic Tour
题目传送门 /* KM: 相比HDOJ_1533,多了重边的处理,还有完美匹配的判定方法 */ #include <cstdio> #include <cmath> #incl ...
- 使用wkwebview后,页面返回不刷新的问题
onpageshow 事件在用户浏览网页时触发. onpageshow 事件类似于 onload 事件,onload 事件在页面第一次加载时触发, onpageshow 事件在每次加载页面时触发,即 ...
- js操作元素透明度以及浏览器兼容性
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...
- phpstudy初级总结
1.问题一 问题症状:访问http://localhost/phpMyWind/install/不出现安装或登录页面 考虑一下情况: 1.是否打开了PHPstudy, (当Apache不能启用时,考虑 ...