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

使用Python的SimpleHTTPRequestHandler()构建一个简单的文件共享服务器

发布时间:2023-12-17 12:51:17

在Python中,可以使用http.server模块中的SimpleHTTPRequestHandler类构建一个简单的文件共享服务器。SimpleHTTPRequestHandler是一个内置的HTTP请求处理器,提供基本的HTTP服务器功能,包括处理GET和HEAD请求。

下面是一个使用SimpleHTTPRequestHandler构建文件共享服务器的示例代码:

from http.server import HTTPServer, SimpleHTTPRequestHandler

def run_file_server(server_class=HTTPServer, handler_class=SimpleHTTPRequestHandler):
    server_address = ('', 8000) # 设置服务器的地址和端口
    
    with server_class(server_address, handler_class) as httpd:
        print('文件共享服务器已启动。访问 http://localhost:8000 开始共享文件。')
        httpd.serve_forever()

if __name__ == '__main__':
    run_file_server()

在示例中,我们定义了一个名为run_file_server的函数,它使用HTTPServer类和SimpleHTTPRequestHandler类创建一个HTTP服务器。通过传递服务器的地址和端口参数( '', 8000 ),我们将服务器绑定到了本地主机(localhost)的8000端口。

run_file_server函数中,我们调用serve_forever()方法来启动服务器,并在控制台输出服务器已经启动的提示信息。

要运行文件共享服务器,只需调用run_file_server()函数。然后,可以在浏览器中访问 http://localhost:8000 查看共享的文件。服务器将在当前目录下为浏览器提供文件的列表。

可以将上述的代码保存为file_server.py文件,并在命令行中运行python file_server.py来启动文件共享服务器。请确保您的当前目录中存在要共享的文件。

需要注意的是,SimpleHTTPRequestHandler的默认行为只允许访问服务器所在目录的文件。如果要共享其他目录的文件,可以自定义一个子类继承SimpleHTTPRequestHandler并重写translate_path方法来修改默认行为。

希望这个简单的文件共享服务器能够满足您的需求!