`
langzhe
  • 浏览: 286893 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ejabberd HTTP request handlers处理 post get

阅读更多

小例子http://www.process-one.net/en/wiki/ejabberd_HTTP_request_handlers/

 

处理GET 

http://langxianzhe.com?version=1&token=c617b5435134c1735255edeb4f4b93b4&test=Test

关键是怎么处理Rquest#request.q中数据 以[{},{}]形式组成

我暂时采用了下面的方法 []中元素顺序 需 和url 中的顺序一致

process([], #request{method = 'GET', q=[{"version", Version}, {"token", Token}, {"test", test} ], host = Server,  ip = {IP, _Port}, data = Data}= Request) ->
 处理POST
http://langxianzhe.com/
<operator>
    <version>1</version>
    <test>test</test>
    <token>token</token>
</operator>
关键是对Data的解析
process([], #request{method = 'POST',host = Server,  ip = {IP, _Port}, data = Data}= _Request) ->
 27     ?DEBUG("in ~p :ip = ~p,data = ~p~n", [?MODULE,IP, Data]),
 28     IpStr = inet_parse:ntoa(IP),
 29     Tag = xml_stream:parse_element(Data),
 30     try
 31         case Tag of
 32             {xmlelement, "operator", [{_Type, "bind"}], SubEl} ->
 33                 Version = xml:get_subtag_cdata(Tag, "version"),
 34                 Vendor = xml:get_subtag_cdata(Tag, "test"),
 35                 Token = xml:get_subtag_cdata(Tag, "token"),
 
谁有更好的方法 请提供

 

 

分享到:
评论

相关推荐

    ejabberd源码

    2. **容错性**:由于Erlang的分布式和容错能力,ejabberd能够自动处理节点故障,确保服务的连续性。 3. **集群**:ejabberd支持集群部署,可以将负载分散到多个服务器上,提高系统的可扩展性和处理能力。 4. **...

    ejabberd 服务器测试客户端spark

    10. **服务器性能监控**:Spark还可以帮助监测ejabberd服务器的性能,如响应时间、消息处理速度等,这有助于评估服务器的负载能力。 通过以上步骤,"ejabberd 服务器测试客户端spark.exe"可以帮助管理员全面检查...

    android+ejabberd

    IM(ejabberd)服务器的客户端android开发的代码详解,该代码例子包含单聊、群聊、发送文字、发送及接收文件等功能。

    iOS xmpp ejabberd服务器

    它提供了强大的可扩展性和高可用性,能够处理大量的并发用户,并且支持多种安全特性,如SSL/TLS加密,确保通信的安全性。ejabberd-2.1.11-osx-installer.app是ejabberd服务器的Mac OS X安装程序,用于在Apple设备上...

    ejabberd windows installer

    ejabberd是一款开源的XMPP服务器,它基于Erlang编程语言,提供高度可扩展性和高并发处理能力。在Windows环境下,ejabberd通常通过安装程序进行部署,这正是"ejabberd windows installer"所涉及的内容。Ejabberd不...

    Android IM开发 Ejabberd+asmck+spack

    在本项目中,Ejabberd负责处理用户注册、登录、消息传输、群组聊天、离线消息存储等功能,为Android和PC客户端提供稳定的服务。 **asmck Android端使用的jar包** asmck是专门为Android平台设计的Ejabberd客户端库,...

    Android使用smack连接ejabberd服务器注册、收发消息

    ejabberd是一个开源的XMPP服务器,它提供了稳定、安全且可扩展的服务,支持多种编程语言的客户端接口。Smack是Java和Android平台上常用的XMPP客户端库,它提供了丰富的API,使得开发者可以轻松地构建XMPP应用。 **...

    ejabberd中mod_privacy_odbc.erl实现没有完全遵循xmpp协议

    在进行源码分析时,可以查看`mod_privacy_odbc.erl`中处理隐私列表相关请求的函数,如`set_list/3`、`get_list/3`、`del_list/3`等,检查它们是否正确处理了各种情况和边界条件。同时,检查与数据库交互的部分,如...

    ejabberd安装配置[归纳].pdf

    Ejabberd安装配置详解 Ejabberd是一款流行的开源即时通讯服务器软件,具有高度灵活性和可扩展性。下面是Ejabberd安装配置的详细知识点解析: Ejabberd下载 Ejabberd的下载可以从官方网站获取,目前支持多种操作...

    ejabberd 群聊 strophe.js 实现

    ejabberd是一款开源的XMPP服务器,常用于构建实时通信系统,如即时消息(IM)、群聊等。XMPP(Extensible Messaging and Presence Protocol)是一种基于XML的开放标准,用于实现即时通信和在线状态传输。在这个场景...

    ejabberd的安装包

    ejabberd安装包,很好的工具!适合安装!一定会很好用的!

    ejabberd服务器安装及客户端注册文档

    具体安装步骤包括运行更新命令"sudo apt-get update"以及安装命令"sudo apt-get install ejabberd"。安装完成之后,ejabberd版本为2.0.1,版本号对于后续可能出现的兼容性问题、安全更新以及功能支持具有重要参考...

    ejabberd-2.1.11

    windows环境下的ejabberd。。。点击即可安装

    ejabberd-14.07聊天服务器

    ejabberd的强大在于其灵活性和安全性,支持多种协议,能够处理大量的并发连接,同时保持低资源消耗。 ejabberd的核心特性包括: 1. **多协议支持**:ejabberd不仅支持XMPP(Extensible Messaging and Presence ...

    Ejabberd-2.1.10-mac

    此外,Ejabberd还支持分布式系统,可以处理大规模并发连接,适用于各种规模的企业和社区。 在压缩包子文件的文件名"ejabberd-2.1.10-mac-intel-installer.app"中,我们看到"mac-intel",表明这是为Mac上的Intel...

    ejabberd安装配置.docx

    Ejabberd 安装配置 Ejabberd 是一个基于 XMPP 协议的 instant messaging 服务器,主要用于实时通信和即时消息传递。下面是 Ejabberd 安装配置的相关知识点: 一、Ejabberd 下载 Ejabberd 的安装需要从官方网站...

    ejabberd_rest_client:面向ejabberd的REST客户端

    ejabberd API是ejabberd服务器提供的一系列HTTP接口,允许管理员或开发者以非XML的方式与ejabberd进行通信,这对于不支持XML或者希望以更简洁方式进行交互的应用来说非常有用。ejabberd_rest_client就是为了解决这个...

    ejabberd-15.07-osx-installer.app.zip

    5. **实时推送**:ejabberd支持XEP-0163(个人事件处理),可以实现客户端离线时的消息推送。 6. **多协议支持**:除了核心的XMPP协议,ejabberd还支持如Bonjour、Jingle(音频/视频通话)等扩展协议。 在Mac上安装...

    SSM框架Demo并包含扫码上传,ejabberd消息推送

    - SpringMVC:处理HTTP请求,将请求转发给对应的业务处理类,然后返回响应结果。配置DispatcherServlet、Controller、视图解析器等核心组件。 - MyBatis:通过SQL映射文件和接口方法,实现了数据库操作的简单化,...

    xmpp-auth:ejabberd 的外部认证脚本

    1. `authServiceUrl`:这是外部认证服务的URL,Ejabberd将通过HTTP/HTTPS请求这个URL来执行身份验证。你需要确保这个URL可以被Ejabberd服务器访问,并且能够处理POST请求,因为Ejabberd通常会将用户名和密码以JSON...

Global site tag (gtag.js) - Google Analytics