频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

Python Web 服务开发者: 针对 Python 的 XML-RPC

来源: 作者: 出处:巧巧读书 2007-10-09 进入讨论组
下一页 1 2 3 4 5 

  XML-RPC 是一种比 SOAP 更早的、简单的轻量级 Web 服务技术。这个月,Mike Olson 和 Uche Ogbuji 将讨论 Python 中的 XML-RPC 工具。

  XML-RPC 是 XML Web 服务的鼻祖。它是一个用于远程过程调用(remote procedure call,RPC)的简单规范,这种调用使用 HTTP 作为传输协议,并使用 XML 词汇表作为消息有效负载。由于 XML-RPC 非常简单(整个规范打印出来还不到十页纸),它已经变得非常流行,现在大多数语言都有了标准的或已经可用的 XML-RPC 实现。这些语言中包括 Python,它在版本 2.2 中就开始捆绑 xmlrpclib(Fredrik Lundh 开发的 XML-RPC 实现)了。Joe Johnston 发表在 IBM developerWorks 上的文章“Using XML-RPC for Web services”(请参阅 参考资料)在前三节讨论了 XML-RPC 的基础知识。如果您需要回顾一下这些基本技术,可以从那篇文章开始。在本文中,我们将重点讨论如何使用 Python 实现。要运行本文中的示例,您必须安装 Python 2.2。另外,在上一篇文章中,我们还讨论了 XML-RPC、SOAP 和其他分布式编程技术的性能对比。在作出部署 XML-RPC 的主要决定之前,您可能希望先阅读一下那篇文章。

  客户机

  编写 Python XML-RPC 客户机非常容易。模块 xmlrpclib 拥有所需的全部工具。为调用一个远程 XML-RPC 对象,您可以创建一个代理对象,它用 XML-RPC 把请求转发给服务器。代理对象的外观和感觉就和常规的 Python 对象一样,并且请求就是简单的函数调用。 清单 1(currtime.py)使用 XML-RPC 从 UserLand 服务器获取当前时间(请参阅 参考资料以了解更多关于这个服务的信息)。

  清单 1(currtime.py):使用 XML-RPC 获取当前时间

 import xmlrpclib
#Port 80 is the default
server = xmlrpclib.ServerProxy("http://time.xmlrpc.com")
currentTimeObj = server.currentTime
currtime = currentTimeObj.getCurrentTime()
print currtime
print currtime.value

  实际上被代理的是服务器,这个服务器是通过初始化 ServerProxy 类的一个实例建立起来的。我们传入远程服务器的完整 URL(您必须在其中包含 URL 模式“http://”)。端口还是通常的缺省值 80。如果远程服务器不在端口 80 上侦听,而是在端口 8080 上侦听,我们将使用“http://time.xmlrpc.com:8080”。服务器代理把它们托管的所有实际远程对象都当作常规属性,这样我们就可以得到名为 currentTime 的远程对象的句柄。现在,我们只需调用这个代理对象上的方法即可,它会返回当前时间。响应是一种特殊的 XML-RPC 类型,名为 DateTime。要获得这个对象的纯字符串表示,我们可以使用它的 value 属性。

URl收藏 http://www.qqread.com/xml/c350670.html 更多文章 更多内容请看Python实用指南XML详解Wlan组网----家庭专题专题,或进入讨论组讨论。
下一页 1 2 3 4 5 
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章