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 client使用http post 到server端的代码
Feb 10 Python
Python画图学习入门教程
Jul 01 Python
windows下 兼容Python2和Python3的解决方法
Dec 05 Python
numpy.where() 用法详解
May 27 Python
学Python 3的理由和必要性
Nov 19 Python
wxPython+Matplotlib绘制折线图表
Nov 19 Python
Pytest框架之fixture的详细使用教程
Apr 07 Python
python实现xml转json文件的示例代码
Dec 30 Python
python爬虫破解字体加密案例详解
Mar 02 Python
Python requests库参数提交的注意事项总结
Mar 29 Python
python代码实现备忘录案例讲解
Jul 26 Python
Python+DeOldify实现老照片上色功能
Jun 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
PHP 魔术函数使用说明
2010/05/14 PHP
PHPer 需要了解的 5 个 Composer 小技巧
2014/08/18 PHP
thinkPHP中session()方法用法详解
2016/12/08 PHP
PHP文字转图片功能原理与实现方法分析
2017/08/31 PHP
Google Map V3 绑定气泡窗口(infowindow)Dom事件实现代码
2013/04/26 Javascript
js面向对象编程之如何实现方法重载
2014/07/02 Javascript
js与jquery回车提交的方法
2015/02/03 Javascript
原生js结合html5制作简易的双色子游戏
2015/03/30 Javascript
JavaScript使用cookie实现记住账号密码功能
2015/04/27 Javascript
JS如何判断是否为ie浏览器的方法(包括IE10、IE11在内)
2015/12/13 Javascript
JavaScript创建对象的方式小结(4种方式)
2015/12/17 Javascript
浏览器环境下JavaScript脚本加载与执行探析之动态脚本与Ajax脚本注入
2016/01/19 Javascript
超全面的JavaScript开发规范(推荐)
2017/01/21 Javascript
谈谈JavaScript数组常用方法总结
2017/01/24 Javascript
jquery实时获取时间的简单实例
2017/01/26 Javascript
js省市区级联查询(插件版&无插件版)
2017/03/21 Javascript
vue中使用element-ui进行表单验证的实例代码
2018/06/22 Javascript
Vue通过ref父子组件拿值方法
2018/09/12 Javascript
vuex页面刷新后数据丢失的方法
2019/01/17 Javascript
Vue响应式原理Observer、Dep、Watcher理解
2019/06/06 Javascript
Js通过AES加密后PHP用Openssl解密的方法
2019/07/12 Javascript
JavaScript中如何对多维数组(矩阵)去重的实现
2019/12/04 Javascript
python中遍历文件的3个方法
2014/09/02 Python
python文件操作的简单方法总结
2019/11/07 Python
Python爬虫获取豆瓣电影并写入excel
2020/07/31 Python
Python基于argparse与ConfigParser库进行入参解析与ini parser
2021/02/02 Python
特罗佩亚包官方网站:Tropea
2017/01/03 全球购物
database面试题
2013/03/28 面试题
设置器与访问器的定义以及各自特点
2016/01/08 面试题
师范生实习个人的自我评价
2013/09/28 职场文书
大学生表扬信范文
2014/01/09 职场文书
简历中自我评价怎么写
2014/02/12 职场文书
焦裕禄精神心得体会
2014/09/02 职场文书
pycharm 如何查看某一函数源码的快捷键
2021/05/12 Python
Python利用FlashText算法实现替换字符串
2022/03/31 Python
教你nginx跳转配置的四种方式
2022/07/07 Servers