MicroWebSrv2是适用于MicroPython和CPython的功能强大的新型嵌入式Web服务器,支持路由处理程序,WebSockets或PyhtmlTemplate之类的模块以及大量并发请求(成千上万!)。
完全异步的,它的连接和内存管理得到了非常优化和真正的快速。
主要用于对Pycom WiPy,ESP32,STM32上Pyboard,... 稳健和高效!
github地址: https://github.com/jczic/MicroWebSrv2
特征
· 将microWebSrv2作为功能强大的Web服务器嵌入到您的微控制器中。
· 受益于完全异步的体系结构,该体系结构可以非常快速地处理许多并发请求。
· 使用多个工作线程来并行化并发进程。
· 调整设置以微调资源使用情况并调整预分配的内存大小。
· 加载其他模块以扩展服务器的功能。
· 定制集中式日志的管理。
· 在Web连接上应用SSL / TLS安全层和证书(https模式)。
· 使用可变参数定义网络路由,以便能够处理目标请求。
· 收到任何类型的请求,例如GET,HEAD,POST,PUT,DELETE,OPTIONS,PATCH,...
· 为了方便起见,请使用路径解析器(来自路径)和路径构建器(来自路径)。
· 通过自动允许Web客户端缓存静态文件来提高加载速度。
· 从URL编码形式接收名称/值对。
· 发送和接收JSON对象,并使用它们创建RESTful API样式。
· 播放AjAX请求以与Web应用程序快速交互。
· 定义资源来源,并允许CORS飞行前请求的所有值。
· 验证通过Basic或Bearer方法成功验证了请求。
· 通过保持连接模式支持,减少每个Web客户端的持久连接数。
· 通过使用数据流作为内容来响应请求,该数据流以已知长度发送或以分块的传输编码方式发送。
· 使用文件来响应请求,该请求将被视为即时内容或下载附件。
· 利用WebSockets模块通过WS或安全的WSS连接实时交换消息。
· 使用PyhtmlTemplate模块为集成Python 创建HTML呈现的.pyhtml页面。
用法
@WebRoute(GET, '/my-resource')
def RequestHandler1(microWebSrv2, request) :
pass
@WebRoute(POST, '/test/virtual-page.html', 'myTestRoute')
def RequestHandler2(microWebSrv2, request) :
pass
@WebRoute(OPTIONS, '/') def RequestHandler3(microWebSrv2, request) :
pass