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实现多线程暴力破解登陆路由器功能代码分享
Jan 04 Python
Django中Model的使用方法教程
Mar 07 Python
Python Xml文件添加字节属性的方法
Mar 31 Python
python中将一个全部为int的list 转化为str的list方法
Apr 09 Python
基于numpy中数组元素的切片复制方法
Nov 15 Python
Python 给屏幕打印信息加上颜色的实现方法
Apr 24 Python
利用pyuic5将ui文件转换为py文件的方法
Jun 19 Python
python tkinter库实现气泡屏保和锁屏
Jul 29 Python
解析python的局部变量和全局变量
Aug 15 Python
python实现七段数码管和倒计时效果
Nov 23 Python
Python3.7实现验证码登录方式代码实例
Feb 14 Python
Django通过json格式收集主机信息
May 29 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
php 判断是否是中文/英文/数字示例代码
2013/09/30 PHP
php的ajax简单实例
2014/02/27 PHP
PHP判断数据库中的记录是否存在的方法
2014/11/14 PHP
Symfony2学习笔记之插件格式分析
2016/03/17 PHP
Google韩国首页图标动画效果
2007/08/26 Javascript
JavaScript 自动完成脚本整理(33个)
2009/10/20 Javascript
Jquery 获取表单text,areatext,radio,checkbox,select值的代码
2009/11/12 Javascript
javascript 混合的构造函数和原型方式,动态原型方式
2009/12/07 Javascript
jQuery获取Select选择的Text和Value(详细汇总)
2013/01/25 Javascript
js中点击空白区域时文本框与隐藏层的显示与影藏问题
2013/08/26 Javascript
js调用图片隐藏&显示实现代码
2013/09/13 Javascript
使用JS CSS去除IE链接虚线框的三种方法
2013/11/14 Javascript
request请求获取参数的实现方法(post和get两种方式)
2016/09/27 Javascript
getElementById().innerHTML与getElementById().value的区别
2016/10/27 Javascript
ES6新特性之变量和字符串用法示例
2017/04/01 Javascript
Vue表单提交点击事件只允许点击一次的实例
2020/10/23 Javascript
[02:30]DOTA2英雄基础教程 暗影恶魔
2013/12/17 DOTA
[18:32]DOTA2 HEROS教学视频教你分分钟做大人-谜团
2014/06/12 DOTA
[02:28]DOTA2亚洲邀请赛 LGD战队巡礼
2015/02/03 DOTA
详解Python中的__new__、__init__、__call__三个特殊方法
2016/06/02 Python
python+pyqt实现右下角弹出框
2017/10/26 Python
python数据批量写入ScrolledText的优化方法
2018/10/11 Python
python pandas库的安装和创建
2019/01/10 Python
Python3.5基础之函数的定义与使用实例详解【参数、作用域、递归、重载等】
2019/04/26 Python
python判断一个对象是否可迭代的例子
2019/07/22 Python
基于Python实现大文件分割和命名脚本过程解析
2019/09/29 Python
Python中BeautifuSoup库的用法使用详解
2019/11/15 Python
英国女士和男士时尚服装网上购物:Top Labels Online
2018/03/25 全球购物
Vrbo西班牙:预订您的度假公寓(公寓、乡村房屋…)
2020/04/27 全球购物
FragranceNet中文网:北美健康美容线上零售商
2020/08/26 全球购物
护理专业推荐信
2013/11/07 职场文书
项目副经理岗位职责
2013/12/30 职场文书
师德模范事迹材料
2014/06/03 职场文书
校本教研活动总结
2014/07/01 职场文书
小学六年级班主任工作经验交流材料
2015/11/02 职场文书
Python import模块的缓存问题解决方案
2021/06/02 Python