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编写分析Python程序性能的工具的教程
Apr 01 Python
python根据日期返回星期几的方法
Jul 06 Python
使用Python写个小监控
Jan 27 Python
Python书单 不将就
Jul 11 Python
浅谈python中的占位符
Nov 09 Python
python创建列表和向列表添加元素的实现方法
Dec 25 Python
Python cookbook(数据结构与算法)通过公共键对字典列表排序算法示例
Mar 15 Python
浅析python3字符串格式化format()函数的简单用法
Dec 07 Python
Pycharm debug调试时带参数过程解析
Feb 03 Python
关于Django Models CharField 参数说明
Mar 31 Python
OpenCV 使用imread()函数读取图片的六种正确姿势
Jul 09 Python
学会用Python实现滑雪小游戏,再也不用去北海道啦
May 20 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
关于二级目录拖拽排序的实现(源码示例下载)
2013/04/26 PHP
php实现过滤字符串中的中文和数字实例
2015/07/29 PHP
sina的lightbox效果。
2007/01/09 Javascript
JavaScript 给汉字排序实例代码
2008/06/28 Javascript
基于jQuery的倒计时插件代码
2011/05/07 Javascript
利用JQuery和JS实现奇偶行背景颜色自定义效果
2012/11/19 Javascript
JS保存、读取、换行、转Json报错处理方法
2013/06/14 Javascript
JavaScript中字面量与函数的基本使用知识
2015/10/20 Javascript
在javascript中随机数 math random如何生成指定范围数值的随机数
2015/10/21 Javascript
聊一聊Vue.js过渡效果
2016/09/07 Javascript
JS实现鼠标滑过显示边框的菜单效果
2016/09/21 Javascript
js转换对象为xml
2017/02/17 Javascript
SVG描边动画
2017/02/23 Javascript
angularjs+bootstrap实现自定义分页的实例代码
2017/06/19 Javascript
基于JSONP原理解析(推荐)
2017/12/04 Javascript
深入浅析javascript函数中with
2018/10/28 Javascript
js计时事件实现圆形时钟
2020/03/25 Javascript
VUEX 数据持久化,刷新后重新获取的例子
2019/11/12 Javascript
原生JS与JQ获取元素的区别详解
2020/02/13 Javascript
栈和队列数据结构的基本概念及其相关的Python实现
2015/08/24 Python
使用Python3制作TCP端口扫描器
2017/04/17 Python
解决python使用open打开文件中文乱码的问题
2017/12/29 Python
Python多进程池 multiprocessing Pool用法示例
2018/09/07 Python
Python求均值,方差,标准差的实例
2019/06/29 Python
python实现网站用户名密码自动登录功能
2019/08/09 Python
python 求定积分和不定积分示例
2019/11/20 Python
详解python tkinter包获取本地绝对路径(以获取图片并展示)
2020/09/04 Python
家电业务员岗位职责
2014/03/10 职场文书
学习演讲稿范文
2014/05/10 职场文书
大学生作弊检讨书
2014/09/11 职场文书
2015年党员承诺书
2015/01/21 职场文书
小学六年级毕业感言
2015/07/30 职场文书
深入理解margin塌陷和margin合并的解决方案
2021/06/26 HTML / CSS
2021年国漫热度排行前十,完美世界上榜,第四是美国动画作品
2022/03/18 国漫
mysql数据库实现设置字段长度
2022/06/10 MySQL
windows系统安装配置nginx环境
2022/06/28 Servers