`
xiaolin0199
  • 浏览: 571283 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

XML-RPC简单python实现

 
阅读更多

将数据定义为xml格式,通过http协议进行远程传输

写道
XML-RPC是一种比SOAP更早的、简单的轻量级Web服务技术。XML-RPC是XMLWeb服务的鼻祖。

它是一个用于远程过程调用(Remote Procedure Call RPC)的简单规范,这种调用使用HTTP作为传输协议,并使用XML词汇表作为消息有效负载。

由于XML-RPC非常简单(整个规范打印出来还不到十页纸),它已经变得非常流行,现在大多数语言都有了标准的或已经可用的XML-RPC实现。

 

 

python实现

服务端

#Python附带了SimpleXMLRPCServer,它是一个用来实现XML-RPC服务器的模块。
#要公开XML-RPC服务,您可以向SimpleXMLRPCServer模块中与其同名的类的一个实例注册函数或实例。
#最直接的方法就是编写带有实现您需求的方法的实例,然后注册这个实例。

import SimpleXMLRPCServer 
 
class HelloWorld: 
    def say(self): 
        return "hello, world!" 
 
obj = HelloWorld() 
server = SimpleXMLRPCServer.SimpleXMLRPCServer(("localhost", 80)) 
server.register_instance(obj) 
print "Listening on port 80..." 
server.serve_forever() 

 

 

客户端

#编写PythonXML-RPC客户机非常容易。
#模块xmlrpclib拥有所需的全部工具。
#为调用一个远程XML-RPC对象,您可以创建一个代理对象,它用XML-RPC把请求转发给服务器。
#代理对象的外观和感觉就和常规的Python对象一样,并且请求就是简单的函数调用。

import xmlrpclib 
server = xmlrpclib.ServerProxy("http://localhost:80") 
print "result: " + server.say() 

 

 

分享到:
评论

相关推荐

    XML-RPC.rar_python xml rpc_python写xml_xml rpc_xml-rpc python

    在这个"XML-RPC.rar"压缩包中,包含了一系列Python实现的XML-RPC相关文件,包括server.py、readfile.py、client.py和D_H.py,这些都是实现XML-RPC服务端和客户端功能的关键代码。 首先,我们来看`server.py`。这个...

    3.0 XML-RPC 官方示例+源码+官网地址资料.rar

    在Python中,创建一个简单的XML-RPC服务器和客户端可能是这样的: ```python # 服务器端 from xmlrpc.server import SimpleXMLRPCServer def add(a, b): return a + b server = SimpleXMLRPCServer(('...

    Apache的XML-RPC简化你的WebService应用

    Apache XML-RPC库为Java、Python、Perl等多种语言提供了API,使得开发者可以轻松地在这些平台上实现XML-RPC通信。以下是一些基本步骤: 1. **服务端配置**:创建一个实现了特定接口的类,这个接口定义了可供远程...

    2001_Programming Web Services with XML-RPC

    XML-RPC(XML Remote Procedure Call)是一种轻量级的协议,用于实现不同应用程序之间的远程过程调用。它通过HTTP协议传输XML格式的数据,在客户端和服务端之间交换信息。XML-RPC能够跨平台、跨语言地工作,支持多种...

    delphi与JSP通过xml-rpc协议交换数据的例子.rar_delphi XML_delphi jsp_delphi rp

    - 可以扩展到其他语言,如Python、C#等,只要支持XML-RPC即可实现跨平台通信。 7. **注意事项** - XML-RPC虽然简单,但相比RESTful API或其他现代接口标准,它的灵活性和功能相对有限。 - 安全性是任何远程调用...

    xml-rpc.net.2.1.0.rar

    7. **兼容性**:由于XML-RPC的广泛使用,`xml-rpc.net.2.1.0`库可以与各种平台和语言的XML-RPC实现进行互操作,包括Java、Python、PHP等。 在实际开发中,`xml-rpc.net.2.1.0`库的使用步骤通常包括以下几步: 1. ...

    apache XML-RPC

    - 跨语言通信,因为XML-RPC协议是标准的,所以其他语言(如Python、C#)的实现也可以与Java版本交互。 在实际项目中,为了简化依赖管理,通常会使用构建工具(如Maven或Gradle)来引入这些库,并且通过配置自动管理...

    [其他类别]xml-rpc协议 2.2_xmlrpc-2.2.zip

    - 示例代码,展示了如何在不同语言(如Python、Java、PHP等)中实现XML-RPC客户端和服务器。 - 库文件,供开发者在项目中直接使用,以简化XML-RPC的实现。 - 教程文档,帮助初学者理解并掌握XML-RPC的使用方法。 ...

    XML-RPC+服务客户端通信+实战+Web服务应用

    XML-RPC基础概念 XML-RPC协议详解 XML-RPC与SOAP比较 XML-RPC数据类型 XML-RPC消息格式 XML-RPC错误处理机制 ...XML-RPC实战:Python客户端编程 XML-RPC实战:Java服务器端编程 XML-RPC实战:PHP集成案例

    programming web services with xml rpc

    - **安装PythonWare XML-RPC**:介绍了如何安装和设置PythonWare XML-RPC库,这是Python中常用的XML-RPC实现之一。 - **数据类型**:讨论了Python中XML-RPC支持的数据类型。 - **客户端与服务端开发**:详细阐述了...

    django-modern-rpc:适用于现代Django的简单XML-RPC和JSON-RPC服务器

    `django-modern-rpc` 是一个针对现代Django框架设计的插件,它提供了对XML-RPC和JSON-RPC这两种远程过程调用(RPC)协议的支持。这款库旨在简化在Django项目中集成RPC服务的过程,使得开发者能够轻松地创建和管理RPC...

    TestLink-API-Python-client:用于TestLink的Python XML-RPC客户端-开源

    TestLink-API-Python-client是用于TestLink的Python XML-RPC客户端,最初基于James Stock testlink-api-python-client R7和Olivier Renault JinFeng的想法-TestLink,Robot Framework和Jenkins的交互。 TestLink-API...

    php xml-rpc远程调用

    XML-RPC的出现,为在不同编程语言间进行通信提供了一种简单有效的方式。 1. PHP中的XML-RPC实现: 在PHP中实现XML-RPC需要使用特定的库,这些库能够帮助开发者封装函数调用为XML格式的请求,并将这些请求发送到远程...

    xml-rpc-rs:用于Rust的XML-RPC客户端库

    此板条箱使用xml-rs和reqwest在稳定的Rust中提供了的简单实现。 请参考以查看最新版本中的更改。 防锈支持 此板条箱使用与相同的Rust版本控制策略:它支持最近3个稳定的Rust版本。 只要仍支持最新的3个版本,则...

    XML-RPC for PHP-开源

    在PHP中,XML-RPC的实现允许开发者创建可以与其他支持XML-RPC的平台(如Java、Python、Perl等)进行交互的Web服务。PHP的XML-RPC库不仅实现了基本的XML-RPC协议,还额外提供了对JSON和JSONRPC这两种轻量级的远程调用...

    apache xmlrpc-3.1.1-sources.zip

    在实际应用中,Apache XML-RPC常被用于构建分布式系统,例如微服务架构中的服务间通信,或者是跨语言交互的场景,比如Java与Python、C#等语言的应用之间进行数据交换。由于其简单易用的特性,许多开源项目和企业系统...

    book系统源代码,带有Apache xml rpc技术

    Apache XML-RPC是这个技术的一个实现,它提供了一个简单、跨平台的框架,使得开发者可以轻松地在不同语言之间进行远程方法调用。 Apache XML-RPC的核心概念: 1. **客户端**:客户端是发起请求的一方,它负责构造...

    xmlRpc应用

    在实际开发中,我们可以根据这些文件构建一个简单的XML-RPC应用,例如在`src`目录下编写客户端和服务端代码,利用`lib`中的库实现XML-RPC通信,最后通过Eclipse的配置文件`.project`和`.classpath`来管理和构建项目...

    streamrpc:通过原始流(管道,SSH,TCP)的XML-RPC和JSON-RPC

    streamrpc-原始流上的XML-RPC和JSON-RPC streamrpc是一个Python模块,允许设置RPC通信通过管道或其他原始数据流-它支持任何对象对read和write分别方法。 主要设计目标: 需要尽可能少的传输实现(即, read , write...

Global site tag (gtag.js) - Google Analytics