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实现的去除win下文本文件头部BOM的代码
Feb 10 Python
Linux下使用python调用top命令获得CPU利用率
Mar 10 Python
通过Python模块filecmp 对文件比较的实现方法
Jun 29 Python
python远程连接服务器MySQL数据库
Jul 02 Python
tensorflow 中对数组元素的操作方法
Jul 27 Python
pandas 将索引值相加的方法
Nov 15 Python
Python Web框架之Django框架cookie和session用法分析
Aug 16 Python
python实现的分层随机抽样案例
Feb 25 Python
python 伯努利分布详解
Feb 25 Python
jupyter实现重新加载模块
Apr 16 Python
python中Ansible模块的Playbook的具体使用
May 28 Python
matplotlib基础绘图命令之imshow的使用
Aug 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
php生成html文件方法总结
2014/12/01 PHP
Javascript图像处理思路及实现代码
2012/12/25 Javascript
一个通过script自定义属性传递配置参数的方法
2014/09/15 Javascript
Javscript调用iframe框架页面中函数的方法
2014/11/01 Javascript
了不起的node.js读书笔记之例程分析
2014/12/22 Javascript
JavaScript中的类(Class)详细介绍
2014/12/30 Javascript
js函数内变量的作用域分析
2015/01/12 Javascript
jQuery选择器源码解读(六):Sizzle选择器匹配逻辑分析
2015/03/31 Javascript
用js控件div的滚动条,让它在内容更新时自动滚到底部的实现方法
2016/10/27 Javascript
jQuery.datatables.js插件用法及api实例详解
2016/10/28 Javascript
Angular 2父子组件数据传递之@Input和@Output详解 (上)
2017/07/05 Javascript
使用ionic(选项卡栏tab) icon(图标) ionic上拉菜单(ActionSheet) 实现通讯录界面切换实例代码
2017/10/20 Javascript
解决npm管理员身份install时出现权限的问题
2018/03/16 Javascript
Vue组件中prop属性使用说明实例代码详解
2018/05/31 Javascript
JS对象与json字符串相互转换实现方法示例
2018/06/14 Javascript
解决vue js IOS H5focus无法自动弹出键盘的问题
2018/08/30 Javascript
nodejs基础之常用工具模块util用法分析
2018/12/26 NodeJs
vue-router传参用法详解
2019/01/19 Javascript
javascript function(函数类型)使用与注意事项小结
2019/06/10 Javascript
javascript实现的字符串转换成数组操作示例
2019/06/13 Javascript
react koa rematch 如何打造一套服务端渲染架子
2019/06/26 Javascript
Python通过递归遍历出集合中所有元素的方法
2015/02/25 Python
python实现按行切分文本文件的方法
2016/04/18 Python
如何基于Python按行合并两个txt
2020/11/03 Python
css3动画事件—webkitAnimationEnd与计时器time事件
2013/01/31 HTML / CSS
西班牙网上书店:Casa del Libro
2016/11/01 全球购物
儿科护士实习自我鉴定
2013/10/17 职场文书
市场营销专业推荐信
2013/11/03 职场文书
高中毕业自我鉴定
2013/12/16 职场文书
2014年自我评价
2014/01/04 职场文书
会计岗位描述
2014/02/22 职场文书
幼儿教师演讲稿
2014/05/06 职场文书
比赛口号大全
2014/06/10 职场文书
党员批评与自我批评发言稿
2014/10/14 职场文书
2015年教师党员自我评价材料
2015/03/04 职场文书
Python 中random 库的详细使用
2021/06/03 Python