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设置windows桌面壁纸的实现代码
Jan 28 Python
Python中input和raw_input的一点区别
Oct 21 Python
python使用PIL模块实现给图片打水印的方法
May 22 Python
Python松散正则表达式用法分析
Apr 29 Python
tensorflow实现简单的卷积网络
May 24 Python
Django+JS 实现点击头像即可更改头像的方法示例
Dec 26 Python
python实现感知机线性分类模型示例代码
Jun 02 Python
Python List列表对象内置方法实例详解
Oct 22 Python
Python大数据之从网页上爬取数据的方法详解
Nov 16 Python
解决ROC曲线画出来只有一个点的问题
Feb 28 Python
Python正则re模块使用步骤及原理解析
Aug 18 Python
使用Python的开发框架Brownie部署以太坊智能合约
May 28 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 长文章分页函数 带使用方法,不会分割段落,翻页在底部
2009/10/22 PHP
五款常用mysql slow log分析工具的比较分析
2011/05/22 PHP
php中通过正则表达式下载内容中的远程图片的函数代码
2012/01/10 PHP
php分页函数示例代码分享
2014/02/24 PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
2017/09/16 PHP
Laravel 中创建 Zip 压缩文件并提供下载的实现方法
2019/04/02 PHP
有关js的变量作用域和this指针的讨论
2010/12/16 Javascript
jQuery ui插件的使用方法代码实例
2013/05/08 Javascript
jQuery中:contains选择器用法实例
2014/12/30 Javascript
JS右下角广告窗口代码(可收缩、展开及关闭)
2015/09/04 Javascript
超漂亮的jQuery图片轮播特效
2015/11/24 Javascript
jquery常用的12个小功能
2016/07/22 Javascript
JavaScript实现点击按钮复制指定区域文本(推荐)
2016/11/25 Javascript
JS对象深度克隆实例分析
2017/03/16 Javascript
ES6新特性之Object的变化分析
2017/03/31 Javascript
详解Angular2组件之间如何通信
2017/06/22 Javascript
如何通过非数字与字符的方式实现PHP WebShell详解
2017/07/02 Javascript
Vue.js 动态为img的src赋值方法
2018/03/14 Javascript
Vue前端开发规范整理(推荐)
2018/04/23 Javascript
vue 实现数字滚动增加效果的实例代码
2018/07/06 Javascript
Vue项目安装插件并保存
2019/01/28 Javascript
turn.js异步加载实现翻书效果
2019/07/25 Javascript
对django中foreignkey的简单使用详解
2019/07/28 Python
python实现通过队列完成进程间的多任务功能示例
2019/10/28 Python
Python中Flask-RESTful编写API接口(小白入门)
2019/12/11 Python
Django实现图片上传功能步骤解析
2020/04/22 Python
pyspark 随机森林的实现
2020/04/24 Python
在Python中字典按值排序的实现方法
2020/11/12 Python
英国户外服装品牌:Craghoppers
2019/04/25 全球购物
会计与审计专业大专生求职信
2013/10/03 职场文书
酒店总经理欢迎词
2014/01/15 职场文书
思想政治表现评语
2015/01/04 职场文书
地道战观后感
2015/06/04 职场文书
傲慢与偏见读书笔记
2015/06/29 职场文书
八年级作文之友谊
2019/12/02 职场文书
MySQL限制查询和数据排序介绍
2022/03/25 MySQL