Web静态服务器-显示需要的页面
来源:互联网 发布:中国人口年龄结构数据 编辑:程序博客网 时间:2024/05/22 03:05
Web静态服务器-显示需要的页面
- 在同一个工程里面,新建一个目录html,同时新建一个index.html文件
#coding=utf-8import socketimport refrom multiprocessing import Process#常量,所有字母全部大写#设置静态文件根目录HTML_ROOT_DIR="./html"def handle_client(client_socket): """处理客户端请求""" # 获取客户端请求数据 request_data=client_socket.recv(1024) print("request data:",request_data) request_lines=request_data.splitlines() for line in request_lines: print(line) #解析请求报文 #'GET / HTTP/1.1' request_start_line=request_lines[0] #提取用户请求的文件名 print(request_start_line.decode("utf-8")) file_name=re.match(r"\w+ +(/[^ ]*) ",request_start_line.decode("utf-8")).group(1) #常量写在左边,变量写在右边 if "/" == file_name: file_name="/index.html" #打开文件,读取内容 try: file=open(HTML_ROOT_DIR+file_name,"rb") except IOError: # 构造响应数据 response_start_line = "HTTP/1.1 404 NOT FOUND\r\n" response_headers = "Server:My server\r\n" response_body = "The file is not found" else: file_data=file.read() file.close() # 构造响应数据 response_start_line = "HTTP/1.1 200 OK\r\n" response_headers = "Server:My server\r\n" response_body = file_data.decode("utf-8") finally: #形成响应报文 response=response_start_line+response_headers+"\r\n"+response_body print("response data:",response) #注意编码问题 #向客户端返回响应数据 client_socket.send(bytes(response,"utf-8")) #关闭客户端socket连接 client_socket.close()if __name__=="__main__": #tcp socket 服务端 #AF_INET---常量,某个具体数值 server_socket=socket.socket(socket.AF_INET,socket.SOCK_STREAM) server_socket.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1) server_socket.bind(("",8000)) server_socket.listen(128) while True: #返回一个新的客户端的套接字 client_socket, client_address = server_socket.accept() # print("[%s,%s]用户连接上了!"%(client_address[0],client_address[1])) print("[%s,%s]用户连接上了!" % client_address) #新建进程 handle_client_process=Process(target=handle_client,args=(client_socket,)) handle_client_process.start() #client套接字关闭 client_socket.close()
阅读全文
0 0
- Web静态服务器-显示需要的页面
- 网页静态服务器-2显示需要的页面
- WEB静态服务器1 -- 显示固定页面
- 网页静态服务器-1-显示固定的页面
- 当前页面需要显示上传的图片。图片并不需要上传到服务器存入数据库中
- div静态页面的分页显示
- Web服务器需要警惕的安全隐患是什么?
- Web服务器需要警惕的安全隐患是什么?
- Web服务器需要警惕的安全隐患是什么?
- angularJS基于WEB的静态页面模板
- 一个简单的静态web服务器实现
- asp.net web页面显示服务器绝对路径下图片
- web静态登录页面
- 高负载WEB动态页面与静态页面的分离
- 高负载WEB动态页面与静态页面的分离
- 高负载WEB动态页面与静态页面的分离
- web静态服务器-epoll
- [Web]显示客户端页面执行时间的代码
- 面向对象:希望遇到对的他,余生一起多多指教
- VBA 连接MySQL数据库
- hexo写文章
- 数据结构
- Java随笔
- Web静态服务器-显示需要的页面
- 【Scikit-Learn 中文文档】聚类
- 英雄之舞—迷踪“安可心”
- 趣图:int * pointer
- 清华计算机排第一?美国计算研究协会呼吁业界无视那个排名
- 记录安装caffe遇到的两个问题
- JavaError
- 类对栈实现的封装
- 半同步复制,从库的日常管理和错误处理