返回固定数据的web服务器

2018-05-29 15:20:22 浏览数 (2)

代码语言:javascript复制
import socket


def handle_client(socket_con):
    """
       接收来自客户端的请求,并接收请求报文,解析,返回
    """
    # 服务器接收客户端的请求报文
    request = socket_con.recv(4096).decode()
    print(request)
    # 服务器拼接响应报文并回复
    response_line = 'HTTP/1.1 200 OKrn'
    response_head = 'Server:skylark 2.0rn'
    response_head  = 'Content-Type:text/html;charset=utf-8rn'
    response_body = '这是显示的内容!rn'
    response = response_line   response_head   'rn'   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()

0 人点赞