有没有一个ejabberd python库,我可以通过编程方式从python注册用户到ejabberd?
现在我正在使用python命令模块执行"ejabberdctl register"命令.
Rod*_*gue 11
如果您已在 Ejabberd服务器上激活了用于带内注册的mod_register,那么,正如@Drake所指出的,您可以使用XMPP库来注册用户.
在Python中,我推荐使用Sleek XMPP.在入门的例子是,好了,一个很好的起点.
如果您已激活mod_register_web,则可以向其发送HTTP POST请求http://<SERVERNAME>:5280/admin/server/<VIRTUALHOSTNAME>/users/.此URL需要以下3个参数:
其中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)
ejabberd 是一个 Jabber/XMPP 即时消息服务器。这意味着您可以使用任何 XMPP 模块,例如xmppy。
另外,请检查此线程:Which is the 最成熟的适用于 GChat 客户端的 Python XMPP 库?。