`
轮回记忆
  • 浏览: 10351 次
  • 性别: 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 中的顺序一致
Erlang代码  收藏代码

    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的解析
Erlang代码  收藏代码

    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源码

    ejabberd是一款强大的即时通讯服务器,它基于Jabber/XMPP协议,这使得ejabberd能够支持丰富的交互式通信功能,如文本聊天、音视频通话、群聊、文件传输等。作为一款开源软件,ejabberd遵循GPLv2许可证,允许用户自由...

    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的安装包

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

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

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

    ejabberd 群聊 strophe.js 实现

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

    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_rest_client是与ejabberd服务器交互的一个客户端库,它利用ejabberd的API接口,通过RESTful方式来操作ejabberd服务器,实现了对ejabberd服务器的远程控制和数据管理。 ejabberd API是ejabberd服务器提供的...

    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