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

Is it possible for a Prosody server to make an HTTP request to an external API

韵律服务器有几个模块可以响应 HTTP 请求。

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

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

我似乎找不到任何可以执行此操作的模块。有这种东西吗?

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

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

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

Is an API for making non-blocking HTTP requests to remote servers.

所以你应该查看 here 中的文档,这样你就可以像这样使用它:

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

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

希望对您有所帮助。

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

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