Prosody 服务器是否可以向外部 API 发出 HTTP 请求



Prosody服务器有几个模块,允许它响应HTTP请求。

例如,mod_http_rest允许我在端口 5280 上发出 POST 请求,并将 XMPP 节作为有效负载,Prosody 服务器通过发送该节来响应。

但是,我正在寻找一个可以做相反事情的模块:即获取通过常规方式接收的 XMPP 消息,并以该消息作为有效负载向指定服务器发出 HTTP POST 请求。

我似乎找不到任何可以做到这一点的模块。有这样的事情吗?

如果没有,Prosody API 中是否有任何可用的功能可以编写这样的模块?

或者,是否有充分的理由说明这可能是一个坏主意?

要回答您的问题,是的,Prosody 可以向外部服务发出 HTTP 请求。

您描述的模块(采用XMPP并通过HTTP转发(不存在,但几乎没有理由不存在。所以我刚刚发布了一个提供此功能的模块:https://modules.prosody.im/mod_component_http.html

我不知道

是否已经有一个模块,但有一种方法可以自己实现它。几个月前,我出于特定目的制作了自己的模块,并使用了net.http正如文档所说:

是一个用于向远程服务器发出非阻塞 HTTP 请求的 API。

因此,您应该从此处检查文档,以便可以像以下方式使用它:

local req = require "net.http"
req.request( URL, opts, callBack )

其中 opts 是 json 中的选项,而 callBack 是一个函数,用于定义您要对响应执行的操作。

我希望它有所帮助。

最新更新