码迷,mamicode.com
首页 > Web开发 > 详细

返回固定页面的web服务器

时间:2018-05-12 02:41:38      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:send   处理   request   client   元组   hand   AC   bin   图片格式   

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服务器

标签:send   处理   request   client   元组   hand   AC   bin   图片格式   

原文地址:https://www.cnblogs.com/wf-skylark/p/9027115.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!