分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

6.18_web服务器内容

发布时间:2023-09-06 02:00责任编辑:郭大石关键词:web服务器
#coding:utf-8‘‘‘2018-6-18 14:47:23创建一个静态服务器访问指定页面http://127.0.0.1:8000/‘‘‘import socket from multiprocessing import ProcessHTML_ROOT_DIR = ""def handle_client(client_socket): ???‘‘‘ 处理客户端请求‘‘‘ ???# 获取客户端请求数据 ???request_data = client_socket.recv(1024) ???print("request_data:",request_data) ???# 构造相应数据 ???response_start_line = "HTTP/1.1 200 OK\r\n" ???response_headers = "Sever:My server\r\n" ???response_body = "hello itcast" ???response = response_start_line+response_headers+"\r\n"+response_body ???print("response data:",response) ???# 向客户端返回响应数据 ???client_socket.send(bytes(reponse,"utf-8")) ???# 关闭客户端连接 ???client_socket.close()def main(): ???????#tcp socket 服务端 ???server_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM) ???server_socket.bind(("",8003)) ???server_socket.listen(128) ???while True: ???????client_socket,client_address = server_socket.accept() ???????print("") ???????#创建一个进程 ???????handle_client_process = Process(target=handle_client,args=(client_socket,)) ???????handle_client_process.start() ???????client_socket.close()if __name__ == ‘__main__‘: ???main()
#coding:utf-8‘‘‘2018-6-18 18:05:41创建一个静态服务器访问指定页面http://127.0.0.1:8000/index.html‘‘‘import socket import 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.splitines() ???for line in request_lines: ???????print(line) ???#解析请求报文 ???# ‘GET?HTTP/1.1‘ ???request_start_line = request_lines[0] ???# 使用正则,拿到 index.html ???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 Sever\r\n" ???????response_body = "The file is not found!" ???else: ???????file_data = file.read().decode("utf-8") ???????file.close() ???????# 构造相应数据 ???????response_start_line = "HTTP/1.1 200 OK\r\n" ???????response_headers = "Sever:My server\r\n" ???????response_body = file_data ???finally: ???response = response_start_line+response_headers+"\r\n"+response_body ???print("response data:",response) ???# 向客户端返回响应数据 ?python3需要转换成字节 ???client_socket.send(bytes(reponse,"utf-8")) ???# 关闭客户端连接 ???client_socket.close()def main(): ???????#tcp socket 服务端 ???server_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM) ???#设置socket参数 ???server_socket.setsockopt(socket.SOL_SOCKET,socket.SOL_REUSEADDR,1) ???server_socket.bind(("",8000)) ???server_socket.listen(128) ???while True: ???????client_socket,client_address = server_socket.accept() ???????print("") ???????#创建一个进程 ???????handle_client_process = Process(target=handle_client,args=(client_socket,)) ???????handle_client_process.start() ???????client_socket.close()if __name__ == ‘__main__‘: ???main()

6.18_web服务器内容

原文地址:https://www.cnblogs.com/zhen1996/p/9195813.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved