Python Web Server

#/usr/bin/python
#coding=utf-8
from socket import *

def handle_client(client_socket):
    # 客户端服务
    recv_data = client_socket.recv(1024).decode("utf-8") # 1024表示本次最大接收字节数
    request_header_lines = recv_data.splitlines()
    for line in request_header_lines:
        print(line)

    # 返回浏览器数据
    # 设置返回头信息 header
    response_headers = "HTTP/1.1 200 OK\r\n" # HTTP Stuts
    response_headers += "\r\n" # 空一行与body隔开
    # 设置内容body
    response_body = "

testestestest

\r\n" # 合并范返回数据 response = response_headers + response_body # 返回数据给客户端 client_socket.send(response.encode("utf-8")) #转编码utf8并发送给客户端 client_socket.close() def main(): # 创建套接字 server_socket =socket(AF_INET,SOCK_STREAM) # 设置当服务区线close 即服务区段4此挥手之后资源能够立即释放,保证了下次运行程序时可以立即绑定7788端口 server_socket.setsockopt(SOL_SOCKET,SO_REUSEADDR,1) # 设置监听端口 server_socket.bind(("",7788)) # 使用socket创建爱你的套接字默认的属性是主动的,使用listen将其改为被动,用来监听连接 server_socket.listen(128) # 最大连接数 # while循环处理访问过来的请求 while True: # 如果有新客户端来连接服务端,就生成一个新的套接字单独为按这个客户端服务 # client_socket用来为这个客户端服务 # server_socket专门等待其他新的客户端连接 while True: client_socket,clientAddr = server_socket.accept() handle_client(client_socket) print("正在监听中") if __name__ == '__main__': main()

 

你可能感兴趣的:(Python,零散代码,Windows)