返回固定页面的web服务器

简介: import socketdef handle_client(socket_con): """ 接收来自客户端的请求,并接收请求报文,解析,返回 """ # 服务器接收客户端的请求报文 request = socket_con.
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'
    # 在响应体这里略作改动
    # 确认页面文件的绝对路径(根据实际情况填写,因为写成了r打开文件,不能是图片格式的,尽量是html格式的)
    path = '# 确认页面文件的绝对路径'
    with open(path, 'r') as f:
        response_body = f.read()
    # 重新拼接响应体
    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()

  

                                                                   -------  知识无价,汗水有情,如需搬运请注明出处,谢谢!

目录
相关文章
|
21天前
|
XML 前端开发 JavaScript
PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑
本文深入探讨了PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑;Ajax则通过异步请求实现页面无刷新更新。文中详细介绍了两者的工作原理、数据传输格式选择、具体实现方法及实际应用案例,如实时数据更新、表单验证与提交、动态加载内容等。同时,针对跨域问题、数据安全与性能优化提出了建议。总结指出,PHP与Ajax的结合能显著提升Web应用的效率和用户体验。
36 3
|
3月前
|
UED
判断iframe链接页面 服务器状态
判断iframe链接页面 服务器状态
119 58
|
2月前
|
UED
判断iframe链接页面 服务器状态
【10月更文挑战第6天】
35 1
|
2月前
|
编解码 前端开发 JavaScript
使用 CSS 打印样式为 Web 页面设置专业的打印机效果
使用 CSS 打印样式为 Web 页面设置专业的打印机效果
62 2
|
2月前
|
Java PHP
PHP作为广受青睐的服务器端脚本语言,在Web开发中占据重要地位。理解其垃圾回收机制有助于开发高效稳定的PHP应用。
【10月更文挑战第1天】PHP作为广受青睐的服务器端脚本语言,在Web开发中占据重要地位。其垃圾回收机制包括引用计数与循环垃圾回收,对提升应用性能和稳定性至关重要。本文通过具体案例分析,详细探讨PHP垃圾回收机制的工作原理,特别是如何解决循环引用问题。在PHP 8中,垃圾回收机制得到进一步优化,提高了效率和准确性。理解这些机制有助于开发高效稳定的PHP应用。
51 3
|
3月前
|
存储
在 Web 中判断页面是不是刷新
【9月更文挑战第10天】在Web开发中,判断页面是否刷新有多种方法:1) 监听`popstate`事件,检测用户是否通过历史记录访问页面;2) 记录并比较页面加载时间戳,若相差极小,则可能为刷新;3) 利用本地存储设置特定值,若该值不存在或不符合预期,则页面可能被刷新。然而,这些方法并非绝对准确。
207 3
html,web页面朗读文字,朗读中文,朗读英文
html,web页面朗读文字,朗读中文,朗读英文
|
3月前
|
数据处理 Python
Django视图:构建动态Web页面的核心技术
Django视图:构建动态Web页面的核心技术
|
2月前
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
143 3