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 selenium如何设置等待时间
Sep 15 Python
Python闭包的两个注意事项(推荐)
Mar 20 Python
python中hashlib模块用法示例
Oct 30 Python
python3+PyQt5+Qt Designer实现扩展对话框
Apr 20 Python
python利用smtplib实现QQ邮箱发送邮件
May 20 Python
Python tkinter label 更新方法
Oct 11 Python
在Python中os.fork()产生子进程的例子
Aug 08 Python
python实现的自动发送消息功能详解
Aug 15 Python
利用django model save方法对未更改的字段依然进行了保存
Mar 28 Python
Python参数传递实现过程及原理详解
May 14 Python
Python random模块的使用示例
Oct 10 Python
Python 无限级分类树状结构生成算法的实现
Jan 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
单点登录 Ucenter示例分析
2013/10/29 PHP
PHP中批量生成静态html(命令行下运行PHP)
2014/04/19 PHP
php获取客户端电脑屏幕参数的方法
2015/01/09 PHP
tp5框架使用composer实现日志记录功能示例
2019/01/10 PHP
tp5.1 框架join方法用法实例分析
2020/05/26 PHP
In Javascript Class, how to call the prototype method.(three method)
2007/01/09 Javascript
13 款最热门的 jQuery 图像 360 度旋转插件推荐
2014/12/09 Javascript
js与jQuery实现checkbox复选框全选/全不选的方法
2016/01/05 Javascript
关于原生js中bind函数的简单实现
2016/08/10 Javascript
学习vue.js计算属性
2016/12/03 Javascript
js实现5秒倒计时重新发送短信功能
2017/02/05 Javascript
JavaScript实现开关等效果
2017/09/08 Javascript
select标签设置默认选中的选项方法
2018/03/02 Javascript
webstorm中配置Eslint的两种方式及差异比较详解
2018/10/19 Javascript
JS一次前端面试经历记录
2020/03/19 Javascript
python实现DNS正向查询、反向查询的例子
2014/04/25 Python
Python fileinput模块使用实例
2015/06/03 Python
windows下安装Python和pip终极图文教程
2017/03/05 Python
Python编程把二叉树打印成多行代码
2018/01/04 Python
Python获取当前函数名称方法实例分享
2018/01/18 Python
Python使用Windows API创建窗口示例【基于win32gui模块】
2018/05/09 Python
python进程的状态、创建及使用方法详解
2019/12/06 Python
python 两种方法删除空文件夹
2020/09/29 Python
美国大码时尚女装购物网站:ELOQUII
2017/12/28 全球购物
NFL Game Pass欧洲:在线观看NFL比赛直播和点播,以高清质量播放
2018/08/30 全球购物
Emma Bridgewater官网:英国餐具制造商
2019/11/24 全球购物
全球领先的中国制造商品在线批发平台:DHgate
2020/01/28 全球购物
出纳岗位职责范本
2013/12/01 职场文书
大学生评语大全
2014/04/18 职场文书
大学生找工作求职信
2014/07/09 职场文书
优秀班主任主要事迹材料
2014/12/16 职场文书
锦旗赠语
2015/06/23 职场文书
2015年大学生暑期实习报告
2015/07/13 职场文书
python flask框架快速入门
2021/05/14 Python
深入理解redis中multi与pipeline
2021/06/02 Redis
【海涛教你打DOTA】剑圣第一人称视角解说
2022/04/01 DOTA