Python内置的HTTP协议服务器SimpleHTTPServer使用指南

作者:Easily 时间:2021-11-22 08:11:12 

首先确保装了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,HTTP
0
投稿

猜你喜欢

  • 数据库中identity字段不必是系统产生的唯一值 性能优化方法(新招)

    2011-09-30 11:26:06
  • TensorFlow打印tensor值的实现方法

    2021-12-17 21:05:57
  • python基于socket函数实现端口扫描

    2022-02-06 09:22:37
  • python列表去重的二种方法

    2022-06-02 05:21:41
  • Python 登录网站详解及实例

    2022-05-31 00:47:57
  • 关于python pygame游戏进行声音添加的技巧

    2023-06-25 16:12:30
  • Linux中大内存页Oracle数据库优化的方法

    2023-07-19 11:24:57
  • Python数据可视化之简单折线图的绘制

    2021-05-25 11:59:30
  • Python+OpenCV图像处理——实现轮廓发现

    2023-12-12 23:30:31
  • Python asyncio的一个坑

    2022-04-06 20:58:28
  • 在SQL Server数据库开发中的十大问题

    2008-12-18 14:39:00
  • 惰性函数定义模式

    2007-09-26 20:56:00
  • IE下文本被折行的解决方案

    2009-06-28 16:13:00
  • Python删除指定目录下过期文件的2个脚本分享

    2022-09-11 19:01:10
  • python记录程序运行时间的三种方法

    2023-08-25 03:12:19
  • Python基础学习之反射机制详解

    2023-02-15 11:02:01
  • 基于PyQT5制作一个课堂点名系统

    2023-10-08 20:52:13
  • python实现将list拼接为一个字符串

    2022-10-27 05:50:06
  • 一行两列背景自适应的简单写法 DIV+CSS

    2008-07-15 12:51:00
  • PHP 使用header函数设置HTTP头的示例解析 表头

    2023-09-03 19:12:49
  • asp之家 网络编程 m.aspxhome.com