部署一个简单的python服务器

时间:2022-09-17 09:59:30

返回字符串的网页

# 引入需要的模块
from wsgiref.simple_server import make_server


# 定义web接口函数
def application(env, response):
    """
    定义一个web接口函数,可以接收浏览器客户端发送的url地址,
    调用执行函数通过url地址调用执行函数
    :param env: 环境,表示浏览器发送的请求环境
    :param response:响应,表示服务器给浏览器客户端返回数据
    :return:因为要通过网络传输,要将数据编码成字节数进行传输
    """
    # 定义响应内容的格式[返回数据的格式]
    response('200 OK', [('Content-type', 'text/html;charset=utf-8')])
    # 定义返回数据
    msg = '<h1>helloword</h1>'
    # 返回数据[是一个列表形式,表示可以返回多个数据-返回的是二进制文件]
    return [msg.encode('utf-8')]


if __name__ == "__main__":

    # 将接口函数(web项目)部署到服务器上,并且启动服务器
    # 参数1:web服务器部署的ip地址,空字符串表示本机地址
    # 参数2:服务器部署的端口号
    # 参数3:服务器中部署的web项目[网关接口函数]
    http_server = make_server('', 8000, application)

    print("sever starting!")
    # 启动服务器
    http_server.serve_forever()

返回一个网页的服务器

# 引入需要的模块
from wsgiref.simple_server import make_server


# 定义web接口函数
def application(env, response):
    # 定义响应内容的格式[返回数据的格式]
    response('200 OK', [('Content-type', 'text/html;charset=utf-8')])
    # 读取网页数据
    with open('index.html', 'rb') as f:
        msg = f.read()

    # 返回数据
    rerun [msg]


if __name__ == "__main__":
    http_server = make_server('', 8000, application)
    print("sever starting!")
    # 启动服务器
    http_server.serve_forever()