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 相关文章推荐
pytorch训练imagenet分类的方法
Jul 27 Python
浅谈python中拼接路径os.path.join斜杠的问题
Oct 23 Python
pycharm在调试python时执行其他语句的方法
Nov 29 Python
详解Python的三种可变参数
May 08 Python
linux环境下Django的安装配置详解
Jul 22 Python
Python倒排索引之查找包含某主题或单词的文件
Nov 13 Python
Tensorflow进行多维矩阵的拆分与拼接实例
Feb 07 Python
Python的in,is和id函数代码实例
Apr 18 Python
python中列表的含义及用法
May 26 Python
基于Pyinstaller打包Python程序并压缩文件大小
May 28 Python
pandas 实现将NaN转换为None
May 14 Python
学会用Python实现滑雪小游戏,再也不用去北海道啦
May 20 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
PHP类继承 extends使用介绍
2014/01/14 PHP
iframe自适应宽度、高度 ie6 7 8,firefox 3.86下测试通过
2010/07/29 Javascript
浅谈javascript 函数内部属性
2015/01/21 Javascript
JavaScript面向对象的实现方法小结
2015/04/14 Javascript
原生JavaScript实现todolist功能
2018/03/02 Javascript
javascript少儿编程关于返回值的函数内容
2018/05/27 Javascript
Vue 重置组件到初始状态的方法示例
2018/10/10 Javascript
eslint 的三大通用规则详解
2019/05/16 Javascript
vue项目接口域名动态获取操作
2020/08/13 Javascript
JS创建自定义对象的六种方法总结
2020/12/15 Javascript
[01:42]辉夜杯战队访谈宣传片—FANTUAN
2015/12/25 DOTA
Python 检查数组元素是否存在类似PHP isset()方法
2014/10/14 Python
git进行版本控制心得详谈
2017/12/10 Python
wxPython之解决闪烁的问题
2018/01/15 Python
Python基于win32ui模块创建弹出式菜单示例
2018/05/09 Python
对Python通过pypyodbc访问Access数据库的方法详解
2018/10/27 Python
详解python执行shell脚本创建用户及相关操作
2019/04/11 Python
pandas 对日期类型数据的处理方法详解
2019/08/08 Python
Python Django 封装分页成通用的模块详解
2019/08/21 Python
线程安全及Python中的GIL原理分析
2019/10/29 Python
python 监测内存和cpu的使用率实例
2019/11/28 Python
python3格式化字符串 f-string的高级用法(推荐)
2020/03/04 Python
详解python中的异常和文件读写
2021/01/03 Python
NARS化妆品官方商店:美国彩妆品牌
2017/08/26 全球购物
一些Unix笔试题和面试题
2013/01/22 面试题
如何从一个文件档案的尾端新增记录
2016/12/02 面试题
新学期校长寄语
2014/01/18 职场文书
说明书怎么写
2014/05/06 职场文书
保安公司服务承诺书
2014/05/28 职场文书
毕业大学生自荐信
2014/06/17 职场文书
学生会干部自我鉴定2014
2014/09/18 职场文书
见义勇为事迹材料
2014/12/24 职场文书
车队安全员岗位职责
2015/02/15 职场文书
大学生实习推荐信
2015/03/27 职场文书
七年级作文之游记
2019/12/11 职场文书
MySQL完整性约束的定义与实例教程
2021/05/30 MySQL