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 BeautifulSoup中文乱码问题的2种解决方法
Apr 22 Python
python中使用pyhook实现键盘监控的例子
Jul 18 Python
使用graphics.py实现2048小游戏
Mar 10 Python
对Python中数组的几种使用方法总结
Jun 28 Python
使用pandas批量处理矢量化字符串的实例讲解
Jul 10 Python
JSON文件及Python对JSON文件的读写操作
Oct 07 Python
python二进制文件的转译详解
Jul 03 Python
Python 的字典(Dict)是如何存储的
Jul 05 Python
python实现二分类的卡方分箱示例
Nov 22 Python
python实现tail实时查看服务器日志示例
Dec 24 Python
python GUI库图形界面开发之PyQt5访问系统剪切板QClipboard类详细使用方法与实例
Feb 27 Python
解决Python paramiko 模块远程执行ssh 命令 nohup 不生效的问题
Jul 14 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
星际初学者游戏中永远要做的事
2020/03/04 星际争霸
Content-type 的说明
2006/10/09 PHP
php下使用curl模拟用户登陆的代码
2010/09/10 PHP
基于php无限分类的深入理解
2013/06/02 PHP
smarty模板中使用get、post、request、cookies、session变量的方法
2014/04/24 PHP
PHP ignore_user_abort函数详细介绍和使用实例
2014/07/15 PHP
PHP自带方法验证邮箱、URL、IP是否合法的函数
2016/12/08 PHP
CodeIgniter框架常见用法工作总结
2017/03/16 PHP
JavaScript读取中文cookie时的乱码问题的解决方法
2009/10/14 Javascript
jQuery 借助插件Lavalamp实现导航条动态美化效果
2013/09/27 Javascript
用js的for循环获取radio选中的值
2013/10/21 Javascript
通过AngularJS实现图片上传及缩略图展示示例
2017/01/03 Javascript
jQuery密码强度验证控件使用详解
2017/01/05 Javascript
Vue按需加载的具体实现
2017/12/02 Javascript
vue-cli+webpack项目 修改项目名称的方法
2018/02/28 Javascript
更强大的vue ssr实现预取数据的方式
2019/07/19 Javascript
python动态加载变量示例分享
2014/02/17 Python
Python实现螺旋矩阵的填充算法示例
2017/12/28 Python
Python unittest单元测试框架总结
2018/09/08 Python
Python3实现mysql连接和数据框的形成(实例代码)
2020/01/17 Python
Python基于wordcloud及jieba实现中国地图词云图
2020/06/09 Python
CSS3制作缩略图的详细过程
2016/07/08 HTML / CSS
CSS3颜色值RGBA与渐变色使用介绍
2020/03/06 HTML / CSS
HTML5 canvas 基本语法
2009/08/26 HTML / CSS
来自全球大都市的高级街头服饰:Pegador
2018/01/03 全球购物
金融专业推荐信
2013/11/14 职场文书
个人自我鉴定总结
2014/03/25 职场文书
产品生产计划书
2014/05/07 职场文书
工地安全生产标语
2014/06/06 职场文书
反洗钱宣传活动总结
2014/08/26 职场文书
党员违纪检讨书怎么写
2014/11/01 职场文书
停课通知书
2015/04/24 职场文书
幼儿园亲子活动通知
2015/04/24 职场文书
2015党建工作简报
2015/07/21 职场文书
2015年全民创业工作总结
2015/07/23 职场文书
每日六道java新手入门面试题,通往自由的道路
2021/06/30 Java/Android