有一个ejabberd python库吗?

Mar*_*oni 8 python ejabberd

有没有一个ejabberd python库,我可以通过编程方式从python注册用户到ejabberd?

现在我正在使用python命令模块执行"ejabberdctl register"命令.

Rod*_*gue 11

XMPP XEP-0077

如果您已 Ejabberd服务器上激活用于带内注册的mod_register,那么,正如@Drake所指出的,您可以使用XMPP库来注册用户.

在Python中,我推荐使用Sleek XMPP.在入门的例子是,好了,一个很好的起点.

HTTP

如果您已激活mod_register_web,则可以向其发送HTTP POST请求http://<SERVERNAME>:5280/admin/server/<VIRTUALHOSTNAME>/users/.此URL需要以下3个参数:

  • 新用户名
  • newuserpassword
  • AddNewUser函数

其中addnewuserparam 的预期值似乎是字符串"Add User".

假设您有一个名为ejabberd的admin用户user并使用密码password,使用Python 的请求HTTP库,您可以执行以下操作:

import requests
from requests.auth import HTTPBasicAuth

server = "NAME OF YOUR EJABBERD SERVER"
virtualhost = "NAME OF YOUR EJABBERD HOST"
url = "http://%s:5280/admin/server/%s/user/" % (server, virtualhost)
auth = HTTPBasicAuth("user", "password")
data = {
    'newusername': "new_user",
    'newuserpassword': "new_password",
    'addnewuser': "Add User"
}
resp = requests.post(url, data=data, auth=auth)


assert resp.status_code == 200
Run Code Online (Sandbox Code Playgroud)


Dra*_*uan 3

ejabberd 是一个 Jabber/XMPP 即时消息服务器。这意味着您可以使用任何 XMPP 模块,例如xmppy

另外,请检查此线程:Which is the 最成熟的适用于 GChat 客户端的 Python XMPP 库?