返回顶部
首页 > 资讯 > 服务器 >python静态web服务器如何实现
  • 721
分享到

python静态web服务器如何实现

2023-07-04 15:07:25 721人浏览 泡泡鱼
摘要

今天小编给大家分享一下python静态WEB服务器如何实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。编写tcp服务器程序

今天小编给大家分享一下python静态WEB服务器如何实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

编写tcp服务器程序。

获取浏览器发送的Http请求消息数据。

读取固定的页面数据,将页面数据组装成HTTP响应消息数据并发送给浏览器。

HTTP响应报文数据发送完成后,关闭服务于客户端的套接字。

实例

# 时间: 2021/10/21 20:38import Socket  if __name__ == '__main__':    # 创建tcp服务端套接字    tcp_server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)    # 设置端口号复用, 程序退出端口立即释放    tcp_server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, True)    # 绑定端口号    tcp_server_socket.bind(("", 8080))    # 设置监听    tcp_server_socket.listen(128)    while True:        # 等待接受客户端的连接请求        new_socket, ip_port = tcp_server_socket.accept()        # 代码执行到此,说明连接建立成功        recv_client_data = new_socket.recv(4096)        # 对二进制数据进行解码        recv_client_content = recv_client_data.decode)        print(recv_client_content)                 # 响应行        response_line = "HTTP/1.1 200 OK\r\n"        # 响应头        response_header = "Server: py1.0\r\n"         # 响应体        response_body = "Hello,guys!"         # 拼接响应报文        response_data = (response_line + response_header + "\r\n"+ response_body).encode()        # 发送数据        new_socket.send(response_data)         # 关闭服务与客户端的套接字        new_socket.close()

实例扩展:

import socketimport reimport timedef service_client(new_socket): """为这个客户端服务""" # 1.接收浏览器发送过来的请求,即http请求 # GET / HTTP/1.1 # -------- request = new_socket.recv(1024).decode('utf-8') # 判断客户端意外断开链接返回空字符串 if not request:  # 关闭套接字并退出  new_socket.close()  print("==="*30)  return # 分隔套接字 request_lines = request.splitlines() print() print(">"*20) print(request_lines) file_name = "" ret = re.match(r"[^/]+(/[^ ]*)", request_lines[0]) if ret:  file_name = ret.group(1)  if file_name == "/":   file_name = "/index.html" # 2.返回http格式数据 给浏览器 try:  f = open("./html" + file_name, "rb") except:  response = "HTTP/1.1 404 NOT FOUND\r\n"  response += "Content-Type:text/html;charset=utf-8\r\n"  response += "\r\n"  response += "<h2>404 not found <br> 没有发现所请求资源</h2>"  response += str(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())))  new_socket.send(response.encode('utf-8')) else:  html_content = f.read()  f.close()  # 2.1准备发送给浏览器的数据---header  response = "HTTP/1.1 200 OK\r\n"  response += "\r\n"  # 2.2准备发送给浏览器的数据 ---body  # 将response header发送给浏览器  new_socket.send(response.encode("utf-8"))  # 将response body发送给浏览器  new_socket.send(html_content) # 关闭套接字 new_socket.close()def main(): """用来完成整体的控制""" # 1.创建套接字 tcp_server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 端口复用 tcp_server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) # 2.绑定 tcp_server_socket.bind(("", 7890)) # 3.变为套接字 tcp_server_socket.listen(128) while True:  # 4.等待客户端的链接  new_socket, client_addr = tcp_server_socket.accept()  print(client_addr)  # 5.为这个客户端服务  service_client(new_socket) # 关闭监听套接字 tcp_server_socket.close()if __name__ == '__main__': main()

以上就是“Python静态web服务器如何实现”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网服务器频道。

--结束END--

本文标题: python静态web服务器如何实现

本文链接: https://lsjlt.com/news/346083.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python静态web服务器如何实现
    今天小编给大家分享一下python静态web服务器如何实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。编写TCP服务器程序...
    99+
    2023-07-04
  • Python多任务版静态Web服务器如何实现
    这篇“Python多任务版静态Web服务器如何实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python多任务版静态We...
    99+
    2023-07-02
  • Python本地搭建静态Web服务器的实现
    目录静态Web服务器-返回固定页面数据1. 开发自己的静态Web服务器2. 静态Web服务器-返回固定页面数据的示例代码3. 小结静态Web服务器-返回指定页面数据1. 静态Web服...
    99+
    2023-02-01
    Python搭建静态Web服务器 Python 静态Web服务器
  • Python多任务版静态Web服务器实现示例
    目录概述实现步骤1.导入threading模块2.设置端口号复用, 程序退出端口立即释放3.当客户端和服务器建立连接程,创建子线程4.设置守护主进程5.启动子线程代码实现概述 使用多...
    99+
    2024-04-02
  • python静态web服务器实现方法及代码详解
    1、编写TCP服务器程序。 2、获取浏览器发送的http请求消息数据。 3、读取固定的页面数据,将页面数据组装成HTTP响应消息数据并发送给浏览器。 4、HTTP响应报文数据发送完成...
    99+
    2022-11-21
    python 静态 web服务器
  • Python面向对象如何实现静态Web服务器处理客户端请求
    这篇文章主要讲解了“Python面向对象如何实现静态Web服务器处理客户端请求”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python面向对象如何实现静态Web服务器处理客户端请求”吧!概...
    99+
    2023-07-02
  • 如何使用Node.js搭建一个静态Web服务器
    这篇文章主要介绍了如何使用Node.js搭建一个静态Web服务器的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何使用Node.js搭建一个静态Web服务器文章都会有所收获,下...
    99+
    2024-04-02
  • python实现静态变量
    在类中定义在函数外面的变量是类变量,不属于类的实例。利用它可以实现静态变量。 1. 意料之外的静态变量 在使用类变量的时候一定要小心,否则会得到意料之外的结果。看下面的代码: class Foo(object): coun...
    99+
    2023-01-31
    变量 静态 python
  • 如何使用Node.js实现一个静态资源服务器
    今天就跟大家聊聊有关如何使用Node.js实现一个静态资源服务器,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。项目涉及...
    99+
    2024-04-02
  • Nodejs实现的一个静态服务器实例
    参考cnodejs.org上面的静态服务器例子,写了下面的一个nodejs静态服务器例子,里面包含cache,压缩,贴代码如下: var port=3333; var http = require(...
    99+
    2022-06-04
    静态 实例 服务器
  • php如何实现网页伪静态
    小编给大家分享一下php如何实现网页伪静态,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!php实现网页伪静态的方法:首先在服务器根目录创建一个“.htaccess”文件;然后添加内容为“RewriteRule ^index...
    99+
    2023-06-14
  • Python静态Web服务器面向对象处理客户端请求
    目录概述实现步骤1.定义web服务器类初始化类处理客户端请求启动web服务器进行工作代码实现概述 把Web服务器抽象成一个类,方法初始化,在初始化中建立套接字对线。提供一个开启Web...
    99+
    2024-04-02
  • BootStrap如何实现动态模态框及静态模态框
    这篇文章主要为大家展示了“BootStrap如何实现动态模态框及静态模态框”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“BootStrap如何实现动态模态框及静...
    99+
    2024-04-02
  • Python如何实现WEB
    这篇文章主要介绍Python如何实现WEB,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Python实现WEB测试环境: 服务器配置: 4 x Intel(R) Xeon(R) CPU E5405 @ 2.00GHz...
    99+
    2023-06-17
  • Python简单实现Web服务器
    import socket import re import gevent from gevent import monkey monkey.patch_all()# 识别等待时间,让协程切换 def client_handler(c...
    99+
    2023-01-31
    简单 服务器 Python
  • Python 实现简单 Web 服务器
    最近有个需求,就是要创建一个简到要多简单就有多简单的web服务器,目的就是需要一个后台进程用来接收请求然后处理并返回结果,因此就想到了使用python来实现。 首先创建一个myapp.py文件,其中定义了一个方法,所有的请求都会...
    99+
    2023-01-31
    简单 服务器 Python
  • jquery如何实现静态搜索功能
    这篇文章主要为大家展示了“jquery如何实现静态搜索功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“jquery如何实现静态搜索功能”这篇文章吧。效果图:代...
    99+
    2024-04-02
  • PHP如何实现HTML页面静态化
    这篇文章主要为大家展示了“PHP如何实现HTML页面静态化”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“PHP如何实现HTML页面静态化”这篇文章吧。 一般情...
    99+
    2024-04-02
  • 如何在PHP中实现静态页面动态化?
    随着互联网用户对于网页内容呈现的要求越来越高,动态页面技术已经成为了网页开发的标配。在一些较为简单的网站中,我们可以使用一些框架或者CMS系统来进行网站开发,实现快速开发并且轻松实现动态页面效果。不过一些小型的静态网站则需要手动实现动态化,...
    99+
    2023-05-23
    PHP缓存 PHP静态化 动态化页面
  • SpringBoot web静态资源映射实现步骤详解
    目录静态资源映射规则自定义静态资源映射规则静态资源映射规则 “/**” 访问当前项目任何资源,全部找静态资源的文件夹进行映射 静态资源的文件夹包括: &quo...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作