返回固定页面的web服务器

Posted __S k y L a r k

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了返回固定页面的web服务器相关的知识,希望对你有一定的参考价值。

import socket


def handle_client(socket_con):
    """
       接收来自客户端的请求,并接收请求报文,解析,返回
    """
    # 服务器接收客户端的请求报文
    request = socket_con.recv(4096).decode()
    print(request)
    # 服务器拼接响应报文并回复
    response_line = ‘HTTP/1.1 200 OK\r\n‘
    response_head = ‘Server:skylark 2.0\r\n‘
    response_head += ‘Content-Type:text/html;charset=utf-8\r\n‘
    # response_body = ‘这是显示的内容!\r\n‘
    # 在响应体这里略作改动
    # 确认页面文件的绝对路径(根据实际情况填写,因为写成了r打开文件,不能是图片格式的,尽量是html格式的)
    path = ‘# 确认页面文件的绝对路径‘
    with open(path, ‘r‘) as f:
        response_body = f.read()
    # 重新拼接响应体
    response = response_line + response_head + ‘\r\n‘ + response_body
    socket_con.send(response.encode())
    socket_con.close()


def main():
    # 服务器创建负责监听的socket
    socket_listen = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    # 设置端口重用
    socket_listen.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, True)
    # 绑定监听端口
    socket_listen.bind((‘‘, 8888))
    # 设置监听队列
    socket_listen.listen(128)
    # 通过循环不同的接受请求
    while True:
        # accept() 返回元组 (socket object, address info)
        socket_con, socket_con_adds = socket_listen.accept()
        # 打印提示信息
        print(‘客户端:‘,socket_con_adds,‘连接成功!‘)        # 使用函数处理客户端发送的信息
        handle_client(socket_con)


if __name__ == ‘__main__‘:
     main()

  

以上是关于返回固定页面的web服务器的主要内容,如果未能解决你的问题,请参考以下文章

静态Web服务器-返回固定页面数据Python解释器详解实现代理池的API模块

Web服务器-服务器开发-返回固定页面的HTTP服务器(3.3.1)

返回固定页面的web服务器

第十三节 返回固定页面的http服务器

静态Web服务器-返回指定页面数据

Python实现简单Web服务器