Python和XML-RPC XML-RPC是执行远程过程调用的简单协议,该远程过程调用使用的是XML编码的信息。这种观点积累了额外的复杂性,并卷入了SOAP。除了Python,XML-RPC对很多语言都适用。 3版本分布的范例代码展示了创建服务器的多种方法,该服务器用于处理XML-RPC格式的请求,以便执行Python方法,返回合适的格式化XML。
你的程序不必对XML的一切都了如指掌,Python工具包会用变量和方法解释所有请求,并格式化。 为了用Python XML-RPC方法创建HTML文件,以便回应简单定向服务URL的HTML GET,这里还有一个独特的特性。为了让你更清楚……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
Python和XML-RPC
XML-RPC是执行远程过程调用的简单协议,该远程过程调用使用的是XML编码的信息。这种观点积累了额外的复杂性,并卷入了SOAP。除了Python,XML-RPC对很多语言都适用。
3版本分布的范例代码展示了创建服务器的多种方法,该服务器用于处理XML-RPC格式的请求,以便执行Python方法,返回合适的格式化XML。你的程序不必对XML的一切都了如指掌,Python工具包会用变量和方法解释所有请求,并格式化。
为了用Python XML-RPC方法创建HTML文件,以便回应简单定向服务URL的HTML GET,这里还有一个独特的特性。为了让你更清楚和SOA相比XML-RPC有多简单,我在Python 3.0标准数据库中运行了一个范例标XML-RPC服务器和客户程序,捕获了请求和响应。这个代码是由两行编码编写的:
POST /RPC2 HTTP/1.1
Host: localhost:8080
Accept-Encoding: identity
Content-Length: 187
Content-Type: text/xml
User-Agent: xmlrpclib.py/1.0.1 (by www.pythonware.com)
<?xml version='1.0'?>
<methodCall>
<methodName>pow</methodName>
<params>
<param>
<value><int>2</int></value>
</param>
<param>
<value><int>5</int></value>
</param>
</params>
</methodCall>
从服务器方面来看,很多行创建了服务器实例注册了“pow”方法,服务器应答是:
HTTP/1.0 200 OK
Server: BaseHTTP/0.6 Python/3.0
Date: Thu, 29 Jan 2009 20:29:17 GMT
Content-type: text/xml
Content-length: 122
<?xml version='1.0'?>
<methodResponse>
<params>
<param>
<value><int>32</int></value>
</param>
</params>
</methodResponse>
结论
如果你已经有了Python支持,如果从原来的版本升级到3版本,过程很复杂,但是有Unicode的支持,最终还是可以取得成功。如果你需要一种语言开发应用以便支持Unicode,并且希望这种语言在不同的操作系统上都能够运行。Python是一个不错的选择。如果你在寻找一个脚本语言以便快速完成SOA格式的典型,你需要WS-*s支持SOAP/WSDL,你可能要看看别处了。
相关推荐
-
openstack用python如何获取某个user的资源,如router、net、subnet [ OpenStack]
-
Python项目的部署,目前互联网公司有哪些成熟的方案?
-
AWS Lambda服务功能增加VPC和Python支持
在众多寻求在服务器上运行代码又不想配置服务器的开发人员中,AWS Lambda已经是越来越普及了,而其一系列的新功能也拓展了其应用。
-
微服务模块化编程接口之反思
传统模块化编程被视为应用的功能元素的创建“过程”,因此过程调用就成为了连接它们进入单一结构的机制。一旦有必要把组件跨网络隔离开来时,合理的步骤就是RPC。