python使用xmlrpc实例讲解


Posted in Python onDecember 17, 2013

RPC是Remote Procedure Call的缩写,翻译成中文就是远程方法调用,是一种在本地的机器上调用远端机器上的一个过程(方法)的技术,这个过程也被大家称为“分布式计算”,是为了提高各个分立机器的“互操作性”而发明出来的技术。

XML-RPC的全称是XML Remote Procedure Call,即XML远程方法调用。

它是一套允许运行在不同操作系统、不同环境的程序实现基于Internet过程调用的规范和一系列的实现。
这种远程过程调用使用http作为传输协议,XML作为传送信息的编码格式。
Xml-Rpc的定义尽可能的保持了简单,但同时能够传送、处理、返回复杂的数据结构。
Python下的XML-RPC:

1、类库:xmlrpclib    一般使用在客户端,这个模块用来调用注册在XML-RPC服务器端的函数,xmlrpclib并不是一个类型安全的模块,无法抵御恶意构造的数据,这方面的一些处理工作需要交给开发者自己。

2、类库:SimpleXMLRPCServer   一般是用在服务器端,这个模块用来构造一个最基本的XML-RPC服务器框架

3、构造一个基本的XML-RPC Server:

from SimpleXMLRPCServer import SimpleXMLRPCServer
def is_even(n):
    return n%2 == 0
server = SimpleXMLRPCServer(("localhost", 8000))#确定URL和端口
print "Listening on port 8000..."
server.register_function(is_even, "is_even") #注册is_even函数
server.serve_forever()#启动服务器,并使其对这个连接可用

4、构造一个基本的XML-RPC Client:

import xmlrpclib
proxy = xmlrpclib.ServerProxy("http://localhost:8000/")
print "3 is even: %s" % str(proxy.is_even(3))#客户端调用XML-RPC函数
print "100 is even: %s" % str(proxy.is_even(100))
Python 相关文章推荐
python实现简单ftp客户端的方法
Jun 28 Python
Python实现定时备份mysql数据库并把备份数据库邮件发送
Mar 08 Python
Python2和Python3.6环境解决共存问题
Nov 09 Python
python 读取鼠标点击坐标的实例
Dec 29 Python
Django实现文件上传下载
Oct 06 Python
Python字符编码转码之GBK,UTF8互转
Feb 09 Python
python列表返回重复数据的下标
Feb 10 Python
Python基于Hypothesis测试库生成测试数据
Apr 29 Python
浅谈python量化 双均线策略(金叉死叉)
Jun 03 Python
python将下载到本地m3u8视频合成MP4的代码详解
Nov 24 Python
解决hive中导入text文件遇到的坑
Apr 07 Python
教你用Python爬取英雄联盟皮肤原画
Jun 13 Python
python三元运算符实现方法
Dec 17 #Python
用python写asp详细讲解
Dec 16 #Python
python模块restful使用方法实例
Dec 10 #Python
python解析模块(ConfigParser)使用方法
Dec 10 #Python
python基础入门详解(文件输入/输出 内建类型 字典操作使用方法)
Dec 08 #Python
python socket网络编程步骤详解(socket套接字使用)
Dec 06 #Python
python3图片转换二进制存入mysql
Dec 06 #Python
You might like
PHILIPS L4X25T电路分析和打理
2021/03/02 无线电
PHP中基本符号及使用方法
2010/03/23 PHP
收集的二十一个实用便利的PHP函数代码
2010/04/22 PHP
PHP中“简单工厂模式”实例代码讲解
2012/09/04 PHP
PHP简单实现文本计数器的方法
2016/04/28 PHP
php实现微信企业号支付个人的方法详解
2017/07/26 PHP
php使用redis的有序集合zset实现延迟队列应用示例
2020/02/20 PHP
Javascript实例教程(19) 使用HoTMetal(1)
2006/12/23 Javascript
Javascript 刷新全集常用代码
2009/11/22 Javascript
IE8下关于querySelectorAll()的问题
2010/05/13 Javascript
基于jquery的修改当前TAB显示标题的代码
2010/12/11 Javascript
深入理解Javascript中this的作用域
2014/08/12 Javascript
js中使用replace方法完成某个字符的转换
2014/08/20 Javascript
JS通过ajax动态读取xml文件内容的方法
2015/03/24 Javascript
浅谈jquery.fn.extend与jquery.extend区别
2015/07/13 Javascript
javascript结合Flexbox简单实现滑动拼图游戏
2016/02/18 Javascript
Node.js中npm常用命令大全
2016/06/09 Javascript
jQuery树控件zTree使用方法详解(一)
2017/02/28 Javascript
Bootstrap按钮组简单实现代码
2017/03/06 Javascript
nodeJS服务器的创建和重新启动的实现方法
2018/05/12 NodeJs
JavaScript寄生组合式继承原理与用法分析
2019/01/11 Javascript
js事件机制----捕获与冒泡机制实例分析
2020/05/22 Javascript
python根据距离和时长计算配速示例
2014/02/16 Python
python3.4下django集成使用xadmin后台的方法
2017/08/15 Python
Python3之文件读写操作的实例讲解
2018/01/23 Python
使用Python创建简单的HTTP服务器的方法步骤
2019/04/26 Python
Python 取numpy数组的某几行某几列方法
2019/10/24 Python
Python实现我的世界小游戏源代码
2021/03/02 Python
css3.0新属性效果在ie下的解决方案
2010/05/10 HTML / CSS
创业者是否需要商业计划书?
2014/02/07 职场文书
一位农村小子的自荐信
2014/04/07 职场文书
中学教师暑期培训方案
2014/08/27 职场文书
司法工作人员群众路线对照检查材料思想汇报
2014/09/30 职场文书
辞职书格式样本
2015/02/26 职场文书
祝福语集锦:送给毕业同学祝福语
2019/11/21 职场文书
详解解Django 多对多表关系的三种创建方式
2021/08/23 Python