欢迎访问宙启技术站
智能推送

简单的PythonSimpleHTTPServertest()方法介绍

发布时间:2023-12-27 23:02:05

Python SimpleHTTPServer 是 Python 提供的一个内置模块,用于在本地快速建立一个简单的 HTTP 服务器。这个模块通常用于快速共享文件、测试 Web 页面或提供 Web 服务。

在 Python 2 中,使用命令 python -m SimpleHTTPServer [端口号] 启动一个简单的 HTTP 服务器。在 Python 3 中,需要使用命令 python -m http.server [端口号] 启动。

下面是一个简单的 Python SimpleHTTPServer 示例代码:

import SimpleHTTPServer
import SocketServer

class MyHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
    def do_GET(self):
        if self.path == '/':
            self.path = '/index.html'
        return SimpleHTTPServer.SimpleHTTPRequestHandler.do_GET(self)

PORT = 8000

handler = SocketServer.TCPServer(("", PORT), MyHandler)

print "Server started on port", PORT
handler.serve_forever()

这个示例代码创建了一个自定义的请求处理类 MyHandler,继承自 SimpleHTTPServer.SimpleHTTPRequestHandler。在这个类中,我们重写了 do_GET 方法。这个方法在接收到 GET 请求时被调用,我们在这里判断请求路径是否为根路径 "/",如果是,则将请求路径设置为 "/index.html",然后调用父类的 do_GET 方法来处理请求。

接下来,我们使用 SocketServer.TCPServer 创建一个服务器实例,指定监听的主机和端口。然后,使用 serve_forever 方法启动服务器并一直监听请求。

在以上示例代码中,默认监听的端口号为 8000,你可以根据自己的需要修改成其他的端口号。如果不指定端口号,默认为 8000。

启动这个 Python 脚本后,就可以通过浏览器访问 http://localhost:8000/ 来访问当前文件夹下的文件了。如果当前文件夹中存在一个名为 index.html 的文件,那么访问根路径 / 就会显示这个文件的内容。否则,会显示当前文件夹的文件列表。

以上就是一个简单的 Python SimpleHTTPServer 示例及其说明。通过这个示例,你可以快速建立一个简单的 HTTP 服务器,方便共享文件和测试 Web 页面。