2024-10-01 09:40:32 发布
网友
是否有一个ejabberd python库,其中我可以通过编程方式将用户注册到ejabberd?在
现在我正在使用python命令模块执行“ejabberdctl register”命令。在
如果您在Ejabberd服务器上为In-Band registration激活了mod_register,那么,正如@Drake所指出的,您可以使用XMPP库来注册用户。在
在Python中,我建议使用Sleek XMPP。Getting started examples是一个很好的起点。在
如果您激活了mod_register_web,那么您可以向http://<SERVERNAME>:5280/admin/server/<VIRTUALHOSTNAME>/users/发送一个httppost请求。此URL需要以下3个参数:
http://<SERVERNAME>:5280/admin/server/<VIRTUALHOSTNAME>/users/
其中,addnewuser参数的预期值似乎是字符串“Add User”。在
addnewuser
假设您有一个名为user的ejabberd admin user,密码为password,对Python使用requests HTTP library,可以执行如下操作:
user
password
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
ejabberd是一个Jabber/XMPP即时消息服务器。这意味着您可以使用任何XMPP模块,比如xmppy。在
另外,检查这个线程:Which is the most mature Python XMPP library for a GChat client?。在
XMPP XEP-0077
如果您在Ejabberd服务器上为In-Band registration激活了mod_register,那么,正如@Drake所指出的,您可以使用XMPP库来注册用户。在
在Python中,我建议使用Sleek XMPP。Getting started examples是一个很好的起点。在
HTTP协议
如果您激活了mod_register_web,那么您可以向
http://<SERVERNAME>:5280/admin/server/<VIRTUALHOSTNAME>/users/
发送一个httppost请求。此URL需要以下3个参数:其中,
addnewuser
参数的预期值似乎是字符串“Add User”。在假设您有一个名为
user
的ejabberd admin user,密码为password
,对Python使用requests HTTP library,可以执行如下操作:ejabberd是一个Jabber/XMPP即时消息服务器。这意味着您可以使用任何XMPP模块,比如xmppy。在
另外,检查这个线程:Which is the most mature Python XMPP library for a GChat client?。在
相关问题 更多 >
编程相关推荐