PySide6.QtHttpServer.QHttpServer

class QHttpServer

QHttpServerQAbstractHttpServerQHttpServerRouter 的简化 API。更多

PySide6.QtHttpServer.QHttpServer 的继承图

概要

方法

注意

本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。

详细描述

QHttpServer 允许通过设置一系列请求处理程序来创建一个简单的Http服务器。

route 函数可以方便地向服务器的 QHttpServerRouter 添加规则。要注册一个在每个请求之后调用的处理程序,请使用 addAfterRequestHandler,要为所有未处理的请求注册处理程序,请使用 setMissingHandler

最小示例:

QHttpServer server;

server.route("/", [] () {
    return "hello world";
});

auto tcpserver = new QTcpServer();
if (!tcpserver->listen() || !server.bind(tcpserver.get())) {
    delete tcpserver;
    return -1;
}
qDebug() << "Listening on port" << tcpserver->serverPort();
__init__([parent=None])
Parameters:

父对象QObject

创建一个带有父级 parentQHttpServer 实例。

addAfterRequestHandler(context, callback)
Parameters:
  • contextQObject

  • callbackPyCallable

clearMissingHandler()

将处理程序重置为默认处理程序,该处理程序生成状态为404 Not Found的回复。

route(rule, callback)
Parameters:
  • rule – str

  • callbackPyCallable

Return type:

布尔

router()
Return type:

QHttpServerRouter

返回指向常量路由器对象的指针。