BLOG
Enjoy when you can, and endure when you must.
DEC 18, 2014/编程相关
XMPP:我们来聊天吧
说起 XMPP,那第一反应就是即时通信。它基于可扩展标记语言(XML)来进行数据交换。XMPP 中定义了三个角色,客户端,服务器,网关。通信能够在这三者的任意两个之间双向发生。服务器同时承担了客户端信息记录,连接管理和信息的路由功能。网关承担着与异构即时通信系统的互联互通,异构系统可以包括SMS(短信),MSN,ICQ等。基本的网络形式是单客户端通过 TCP/IP 连接到单服务器,然后在之上传输 XML。<message from="admin@dannysite.com"       &n...
NOV 26, 2013/Python
解析XML:更优的性能
BeautifulSoup是一个很强大的HTML/XML解析工具,简单易用。不过从性能上来说,它可能并不是最好的。因此,我们考虑使用另外一个第三方包lxml,它在底层是通过C实现的,因此在速度上会有明显的优势。还是之前的例子:<?xml version="1.0" encoding="utf-8"?> <CSubmitState xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www...
NOV 25, 2013/Python
解析XML:更便捷的方式
在前面介绍的解析XML的方法都是利用Python标准库中的API来实现的,即ElementTree和DOM。不过貌似都觉得不是非常直观。因此,这里我们引入一个第三方库来更方便的完成需求 —— BeautifulSoup。BeautifulSoup是一个功能强劲的用于解析HTML/XML的模块。还是以之前的例子切入:<?xml version="1.0" encoding="utf-8"?> <CSubmitState xmlns:xsd="http://www.w3.org/2001/XM...
NOV 24, 2013/Python
解析XML:DOM
在之前所写的解析XML:ElementTree一文中,我是用Python标准库里的xml.etree.ElementTree来实现的。不过这种对于含有命名空间的XML则显得不大方便和直观。其实Python标准库里还提供了更简单的方法,那就是利用The Document Object Model API,即xml.dom。这种方法通过检索DOM树实现。还是以之前的XML文档为例:<?xml version="1.0" encoding="utf-8"?> <CSubmitState xmlns:xsd...
NOV 22, 2013/Python
解析XML:ElementTree
解析XML是很常见的需求,利用Python内置的ElementTree XML API即可实现。假如有如下一个简单的XML文档(来自于微信的XML数据包):<xml> <ToUserName>toUser</ToUserName> <FromUserName>fromUser</FromUserName>  <CreateTime>1348831860</CreateTime> <MsgType>text</MsgType> <Content>thi...
NOV 22, 2013/后端开发与架构
Django微信公众平台开发:交互流程
实现了接入和access_token的获取,接下来就该开始构建功能了,所以有必要了解一下详细的交互过程。 如上图所示,从用户发送交互请求,到公众号的接收与回应,中间会通过微信服务器的处理,并最终将返回的内容送至用户端。具体来说: 1. 用户向公众号发送消息或事件,到达微信服务器进行处理; 2. 微信服务器将处理后的XML数据包发送至公众号服务器上; 3. 公众号服务器对数据进行处理,将回送的内容以XML数据包的形式发送至微信服务器; 4. 微信服务器接收后处理并最终将内容返回给用户。 目前,公众号可能会收到六种类型的消息,分别是文本消...
1