非常教程

Python参考手册

网络 | Internet

SimpleHTTPServer

注意

SimpleHTTPServer模块已被合并到Python 3中。当将源代码转换为Python 3时http.server,2to3工具将自动适应导入。

SimpleHTTPServer模块定义了一个类,SimpleHTTPRequestHandler它与接口兼容BaseHTTPServer.BaseHTTPRequestHandler

SimpleHTTPServer模块定义了以下类:

class SimpleHTTPServer.SimpleHTTPRequestHandler(request, client_address, server)

该类提供当前目录和下面的文件,直接将目录结构映射到HTTP请求。

很多工作,例如解析请求,都是由基类完成的BaseHTTPServer.BaseHTTPRequestHandler。这个类实现do_GET()do_HEAD()功能。

以下定义为以下类级别的属性SimpleHTTPRequestHandler

server_version

这将是"SimpleHTTP/" + __version__,其中__version__在模块级被定义。

extensions_map

字典映射后缀为MIME类型。缺省值由空字符串表示,并被认为是application/octet-stream。该映射不区分大小写使用,因此只应包含小写的键。

SimpleHTTPRequestHandler类定义了下列方法:

do_HEAD()

这个方法服务于'HEAD'请求类型:它发送它将发送的等价GET请求头。有关do_GET()可能的标题的更完整说明,请参阅该方法。

do_GET()

通过将请求解释为相对于当前工作目录的路径,该请求被映射到本地文件。

如果请求被映射到目录,则检查目录中名为index.htmlor 的文件index.htm(按该顺序)。如果找到,则返回文件的内容; 否则通过调用该list_directory()方法生成目录列表。此方法用于os.listdir()扫描目录,404如果listdir()失败则返回错误响应。

如果请求被映射到一个文件,它将被打开并返回内容。任何IOError在打开的pool异常映射到一个404'File not found'错误。否则,通过调用guess_type()方法来猜测内容类型,该方法依次使用extensions_map变量。

'Content-type:'输出一个包含猜测内容类型的'Content-Length:'标题,后跟一个包含文件大小的'Last-Modified:'标题和一个包含文件修改时间的标题。

然后跟着一个空白行表示标题的结尾,然后输出文件的内容。如果文件的MIME类型text/以文本模式打开文件开头; 否则使用二进制模式。

模块中的test()功能SimpleHTTPServer是一个使用SimpleHTTPRequestHandler处理程序创建服务器的示例。

版本2.5中的新功能:'Last-Modified'标题。

SimpleHTTPServer可以通过以下方式使用该模块,以便设置一个非常基本的Web服务器来提供与当前目录相关的文件。

import SimpleHTTPServer
import SocketServer

PORT = 8000

Handler = SimpleHTTPServer.SimpleHTTPRequestHandler

httpd = SocketServer.TCPServer(("", PORT), Handler)

print "serving at port", PORT
httpd.serve_forever()

SimpleHTTPServer模块也可以使用-m带有port number参数的解释器开关直接调用。与前面的例子类似,这为相对于当前目录的文件提供服务。

python -m SimpleHTTPServer 8000
Python

Python 是一种面向对象的解释型计算机程序设计语言,由荷兰人 Guido van Rossum 于1989年发明,第一个公开发行版发行于1991年。 Python 是纯粹的自由软件, 源代码和解释器 CPython 遵循 GPL 协议。Python 语法简洁清晰,特色之一是强制用空白符( white space )作为语句缩进。

主页 https://www.python.org/
源码 https://github.com/python/cpython
版本 2.7
发布版本 2.7.13

Python目录

1.内置常量 | Built-in Constants
2.内置例外 | Built-in Exceptions
3.内置函数 | Built-in Functions
4.内置类型 | Built-in Types
5.编译器 | Compiler
6.加密 | Cryptography
7.数据压缩 | Data Compression
8.数据持久性 | Data Persistence
9.数据类型 | Data Types
10.调试和分析 | Debugging & Profiling
11.开发工具 | Development Tools
12.文件和目录访问 | File & Directory Access
13.文件格式 | File Formats
14.构架 | Frameworks
15.输入 | Importing
16.输入/输出 | Input/ouput
17.国际化 | Internationalization
18.网络 | Internet
19.网络数据 | Internet Data
20.翻译 | Interpreters
21.语言 | Language
22.记录 | Logging
23.Mac OS
24.MS Windows
25.多媒体 | Multimedia
26.联网 | Networking
27.数字与数学 | Numeric & Mathematical
28.操作系统 | Operating System
29.可选操作系统 | Optional Operating System
30.限制执行 | Restricted Execution
31.运行 | Runtime
32.SGI IRIX
33.软件包装与分销 | Software Packaging & Distribution
34.字符串 | String
35.结构化标记 | Structured Markup
36.Tk
37.Unix
38.Python 简介
39.Python pass 语句
40.Python 循环嵌套
41.Python 运算符
42.Python log10() 函数
43.Python log() 函数
44.Python floor() 函数
45.Python fabs() 函数
46.Python exp() 函数
47.Python cmp() 函数
48.Python ceil() 函数
49.Python abs() 函数
50.Python Number(数字)
51.Python pow() 函数
52.Python modf() 函数
53.Python min() 函数
54.Python max() 函数
55.Python asin() 函数
56.Python acos() 函数
57.Python uniform() 函数
58.Python shuffle() 函数
59.Python seed() 函数
60.Python random() 函数
61.Python randrange() 函数
62.Python choice() 函数
63.Python sqrt() 函数
64.Python round() 函数
65.Python radians() 函数
66.Python degrees() 函数
67.Python tan() 函数
68.Python sin() 函数
69.Python hypot() 函数
70.Python cos() 函数
71.Python atan2() 函数
72.Python atan() 函数
73.Python 元组
74.Python 列表(List)
75.Python 字符串
76.Python 字典(Dictionary)
77.Python 日期和时间
78.Python 函数
79.Python 模块
80.Python capitalize()方法
81.Python center()方法
82.Python count() 方法
83.Python expandtabs()方法
84.Python endswith()方法
85.Python encode()方法
86.Python decode()方法
87.Python find()方法
88.Python index()方法
89.Python 异常处理
90.Python isspace()方法
91.Python isnumeric()方法
92.Python islower()方法
93.Python isdigit()方法
94.Python isalpha()方法
95.Python isalnum()方法
96.Python isupper()方法
97.Python istitle()方法
98.Python min()方法
99.Python max()方法
100.Python maketrans()方法