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写的图片蜘蛛人代码
Aug 27 Python
python高并发异步服务器核心库forkcore使用方法
Nov 26 Python
python和pyqt实现360的CLable控件
Feb 21 Python
Python中变量交换的例子
Aug 25 Python
Python实现的简单算术游戏实例
May 26 Python
python实现数值积分的Simpson方法实例分析
Jun 05 Python
使用Python写一个贪吃蛇游戏实例代码
Aug 21 Python
django rest framework之请求与响应(详解)
Nov 06 Python
Python进阶学习之特殊方法实例详析
Dec 01 Python
Python iter()函数用法实例分析
Mar 17 Python
Python 通过调用接口获取公交信息的实例
Dec 17 Python
python3对接mysql数据库实例详解
Apr 30 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格式输出文件var_export函数实例
2014/11/15 PHP
详细解读php的命名空间(一)
2018/02/21 PHP
IE浏览器PNG图片透明效果代码
2008/09/02 Javascript
SyntaxHighlighter语法高亮插件使用说明
2011/08/14 Javascript
js 获取和设置css3 属性值的实现方法
2013/05/06 Javascript
自动刷新网页,自动刷新当前页面,JS调用
2013/06/24 Javascript
jQueryUI中的datepicker使用方法详解
2016/05/25 Javascript
js判断请求的url是否可访问,支持跨域判断的实现方法
2016/09/17 Javascript
JavaScript中的toString()和toLocaleString()方法的区别
2017/02/15 Javascript
在node中如何使用 ES6
2017/04/22 Javascript
AngularJs定时器$interval 和 $timeout详解
2017/05/25 Javascript
详解Javascript获取缓存和清除缓存API
2017/05/25 Javascript
JS组件系列之Gojs组件 前端图形化插件之利器
2017/11/29 Javascript
vue中vee validate表单校验的几种基本使用
2018/06/25 Javascript
详解如何在vscode里面调试js和node.js的方法步骤
2018/12/24 Javascript
聊聊Vue 中 title 的动态修改问题
2019/06/11 Javascript
微信小程序文字显示换行问题
2019/07/28 Javascript
关于uniApp editor微信滑动问题
2021/01/15 Javascript
[16:56]heroes英雄教学 司夜刺客
2014/09/18 DOTA
浅谈Python 字符串格式化输出(format/printf)
2016/07/21 Python
详解常用查找数据结构及算法(Python实现)
2016/12/09 Python
Python根据当前日期取去年同星期日期
2019/04/14 Python
Python分布式进程中你会遇到的问题解析
2019/05/28 Python
PyQt5中QTableWidget如何弹出菜单的示例代码
2020/02/23 Python
tensorflow指定CPU与GPU运算的方法实现
2020/04/21 Python
Python3 pyecharts生成Html文件柱状图及折线图代码实例
2020/09/29 Python
Python数据可视化常用4大绘图库原理详解
2020/10/23 Python
如何一键升级Python所有包
2020/11/05 Python
CSS3实现时间轴效果
2016/07/11 HTML / CSS
大学团支书的自我评价分享
2013/12/14 职场文书
模范家庭事迹材料
2014/02/10 职场文书
毕业生就业推荐表自我鉴定
2014/03/20 职场文书
教师对学生的寄语
2014/04/03 职场文书
教师学习群众路线心得体会
2014/11/04 职场文书
老干部座谈会主持词
2015/07/03 职场文书
Python实现生成bmp图像的方法
2021/06/13 Python