1. 程式人生 > >返回固定數據的web服務器

返回固定數據的web服務器

object htm listen AS 回復 cep 報文 監聽端口 ddr

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‘
    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服務器