Python内置的HTTP协议服务器SimpleHTTPServer使用指南


Posted in Python onMarch 30, 2016

首先确保装了Python,我装的是2.x版本,对了,我的操作系统是WIN7,其实对于Python来说,什么操作系统并不重要。Python内置了一个简单的HTTP服务器,只需要在命令行下面敲一行命令,一个HTTP服务器就起来了:

python -m SimpleHTTPServer 80

后面的80端口是可选的,不填会采用缺省端口8000。注意,这会将当前所在的文件夹设置为默认的Web目录,试着在浏览器敲入本机地址:

http://localhost:80
如果当前文件夹有index.html文件,会默认显示该文件,否则,会以文件列表的形式显示目录下所有文件。这样已经实现了最基本的文件分享的目的,你可以做成一个脚本,再建立一个快捷方式,就可以很方便的启动文件分享了。如果有更多需求,完全可以根据自己需要定制,具体的请参见官方文档SimpleHTTPServer,或者直接看源码。我拷贝一段,方便参考:

import SimpleHTTPServer
import SocketServer

PORT = 8000

Handler = SimpleHTTPServer.SimpleHTTPRequestHandler

httpd = SocketServer.TCPServer(("", PORT), Handler)

print "serving at port", PORT
httpd.serve_forever()

如果你想改变端口号,你可以使用如下的命令:

python -m SimpleHTTPServer 8080

如果你只想让这个HTTP服务器服务于本地环境,那么,你需要定制一下你的Python的程序,下面是一个示例:

import sys 
import BaseHTTPServer 
from SimpleHTTPServer import SimpleHTTPRequestHandler 
HandlerClass = SimpleHTTPRequestHandler 
ServerClass = BaseHTTPServer.HTTPServer 
Protocol = "HTTP/1.0" 
 
if sys.argv[1:]: 
  port = int(sys.argv[1]) 
else: 
  port = 8000 
server_address = ('127.0.0.1', port) 
 
HandlerClass.protocol_version = Protocol 
httpd = ServerClass(server_address, HandlerClass) 
 
sa = httpd.socket.getsockname() 
print "Serving HTTP on", sa[0], "port", sa[1], "..." 
httpd.serve_forever()

注意:所有的这些东西都可以在 Windows 或 Cygwin 下工作。

Python 相关文章推荐
Python 使用os.remove删除文件夹时报错的解决方法
Jan 13 Python
Python实现按照指定要求逆序输出一个数字的方法
Apr 19 Python
python 日期操作类代码
May 05 Python
Python实现端口检测的方法
Jul 24 Python
Python实现登陆文件验证方法
Oct 06 Python
python计算两个矩形框重合百分比的实例
Nov 07 Python
使用 Python 写一个简易的抽奖程序
Dec 08 Python
Python递归及尾递归优化操作实例分析
Feb 01 Python
python 计算概率密度、累计分布、逆函数的例子
Feb 25 Python
如何将tensorflow训练好的模型移植到Android (MNIST手写数字识别)
Apr 22 Python
Django 解决新建表删除后无法重新创建等问题
May 21 Python
如何打包Python Web项目实现免安装一键启动的方法
May 21 Python
横向对比分析Python解析XML的四种方式
Mar 30 #Python
python简单实现刷新智联简历
Mar 30 #Python
详解Python迭代和迭代器
Mar 28 #Python
Python读大数据txt
Mar 28 #Python
Python常用的爬虫技巧总结
Mar 28 #Python
Python对数据库操作
Mar 28 #Python
Python字符串切片操作知识详解
Mar 28 #Python
You might like
《心理测量者3》剧场版动画预告
2020/03/02 日漫
PHP设计模式之结构模式的深入解析
2013/06/13 PHP
PHP实现的XML操作类【XML Library】
2016/12/29 PHP
PHP将身份证正反面两张照片合成一张图片的代码
2017/04/08 PHP
基于jquery创建的一个图片、视频缓冲的效果样式插件
2012/08/28 Javascript
jQuery中addClass()方法用法实例
2015/01/05 Javascript
js与jquery实时监听输入框值的oninput与onpropertychange方法
2015/02/05 Javascript
浅谈jQuery中replace()方法
2015/05/13 Javascript
学习Bootstrap组件之下拉菜单
2015/07/28 Javascript
jQuery实现分章节锚点“回到顶部”动画特效代码
2015/10/23 Javascript
倾力总结40条常见的移动端Web页面问题解决方案
2016/05/24 Javascript
文件上传,iframe跨域数据提交的实现
2016/11/18 Javascript
Vue中this.$nextTick的作用及用法
2020/02/04 Javascript
原生js实现碰撞检测
2020/03/12 Javascript
vue中父子组件传值,解决钩子函数mounted只运行一次的操作
2020/07/27 Javascript
antd-DatePicker组件获取时间值,及相关设置方式
2020/10/27 Javascript
js实现电灯开关效果
2021/01/19 Javascript
[52:57]2014 DOTA2国际邀请赛中国区预选赛 LGD-CDEC VS HGT
2014/05/21 DOTA
[03:55]TI9战队采访——TNC Predator
2019/08/22 DOTA
Python文件和目录操作详解
2015/02/08 Python
在Python中使用M2Crypto模块实现AES加密的教程
2015/04/08 Python
python实现简单点对点(p2p)聊天
2017/09/13 Python
Python函数参数匹配模型通用规则keyword-only参数详解
2019/06/10 Python
python3 webp转gif格式的实现示例
2019/12/10 Python
CSS3中Color的一些特性介绍
2012/05/27 HTML / CSS
一些Solaris面试题
2015/12/22 面试题
应届护士求职信范文
2014/01/26 职场文书
公司委托书怎么写
2014/08/02 职场文书
重阳节演讲稿:尊敬帮助老人 弘扬传统美德
2014/09/25 职场文书
读《人生的智慧》有感:闲暇是人生的精华
2019/12/25 职场文书
python正则表达式re.search()的基本使用教程
2021/05/21 Python
python 爬取哔哩哔哩up主信息和投稿视频
2021/06/07 Python
Python 数据可视化之Bokeh详解
2021/11/02 Python
详解Python中__new__方法的作用
2022/03/31 Python
Python可视化神器pyecharts绘制地理图表
2022/07/07 Python
zabbix 代理服务器的部署与 zabbix-snmp 监控问题
2022/07/15 Servers