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字符串格式化输出方法分析
Apr 13 Python
在centos7中分布式部署pyspider
May 03 Python
python实现校园网自动登录的示例讲解
Apr 22 Python
Python统计python文件中代码,注释及空白对应的行数示例【测试可用】
Jul 25 Python
Python re 模块findall() 函数返回值展现方式解析
Aug 09 Python
Cython编译python为so 代码加密示例
Dec 23 Python
Python3 把一个列表按指定数目分成多个列表的方式
Dec 25 Python
Python paramiko 模块浅谈与SSH主要功能模拟解析
Feb 29 Python
django执行原始查询sql,并返回Dict字典例子
Apr 01 Python
基于python实现MQTT发布订阅过程原理解析
Jul 27 Python
Python3爬虫关于代理池的维护详解
Jul 30 Python
使用python把xmind转换成excel测试用例的实现代码
Oct 12 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
ThinkPHP中ajax使用实例教程
2014/08/22 PHP
PHP单例模式是什么 php实现单例模式的方法
2016/05/14 PHP
PHP实现对xml进行简单的增删改查(CRUD)操作示例
2017/05/19 PHP
Laravel 实现密码重置功能
2018/02/23 PHP
javascript 特殊字符串
2009/02/25 Javascript
jquery 子窗口操作父窗口的代码
2009/09/21 Javascript
jquery实现的元素的left增加N像素 鼠标移开会慢慢的移动到原来的位置
2010/03/21 Javascript
S2SH整合JQuery+Ajax实现登录验证功能实现代码
2013/01/30 Javascript
jquery中each方法示例和常用选择器
2014/07/08 Javascript
JavaScript中使用typeof运算符需要注意的几个坑
2014/11/08 Javascript
jQuery横向擦除焦点图特效代码分享
2015/09/06 Javascript
jquery ajax双击div可直接修改div中的内容
2016/03/04 Javascript
jQuery实现select模糊查询(反射机制)
2017/01/14 Javascript
纯js实现页面返回顶部的动画(超简单)
2017/08/10 Javascript
Vue组件之Tooltip的示例代码
2017/10/18 Javascript
Vue Promise的axios请求封装详解
2018/08/13 Javascript
[01:02:53]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第二局
2016/03/06 DOTA
Python中的XML库4Suite Server的介绍
2015/04/14 Python
Python加pyGame实现的简单拼图游戏实例
2015/05/15 Python
numpy自动生成数组详解
2017/12/15 Python
Python提取支付宝和微信支付二维码的示例代码
2019/02/15 Python
用uWSGI和Nginx部署Flask项目的方法示例
2019/05/05 Python
PyTorch之图像和Tensor填充的实例
2019/08/18 Python
pytorch sampler对数据进行采样的实现
2019/12/31 Python
在python中利用dict转json按输入顺序输出内容方式
2020/02/27 Python
python 使用elasticsearch 实现翻页的三种方式
2020/07/31 Python
德国机车企业:FC-Moto
2017/10/27 全球购物
JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?
2015/10/22 面试题
自动化专业职业生涯规划书范文
2014/01/16 职场文书
个人简历中的自我评价怎么写
2014/01/26 职场文书
父母对孩子说的话
2014/04/12 职场文书
服务明星事迹材料
2014/12/29 职场文书
2015年食品安全工作总结
2015/05/15 职场文书
入党函调证明材料
2015/06/19 职场文书
创业计划书之DIY自助厨房
2019/09/06 职场文书
java代码实现空间切割
2022/01/18 Java/Android