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 Socket编程入门教程
Jul 11 Python
浅谈python字符串方法的简单使用
Jul 18 Python
pandas groupby 分组取每组的前几行记录方法
Apr 20 Python
python 切换root 执行命令的方法
Jan 19 Python
python 实现提取某个索引中某个时间段的数据方法
Feb 01 Python
python提取照片坐标信息的实例代码
Aug 14 Python
python3 mmh3安装及使用方法
Oct 09 Python
python实现IOU计算案例
Apr 12 Python
什么是python的id函数
Jun 11 Python
Python爬虫小例子——爬取51job发布的工作职位
Jul 10 Python
python tkinter实现连连看游戏
Nov 16 Python
Python如何使用logging为Flask增加logid
Mar 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 论坛采集程序 模拟登陆,抓取页面 实现代码
2009/07/09 PHP
不要轻信 PHP_SELF的安全问题
2009/09/05 PHP
php实现只保留mysql中最新1000条记录
2015/06/18 PHP
javascript URL编码和解码使用说明
2010/04/12 Javascript
jquery的Tooltip插件 qtip使用详细说明
2010/09/08 Javascript
基于datagrid框架的查询
2013/04/08 Javascript
JavaScript DOM元素尺寸和位置
2015/04/13 Javascript
借助FileReader实现将文件编码为Base64后通过AJAX上传
2015/12/24 Javascript
浅析JavaScriptSerializer类的序列化与反序列化
2016/11/22 Javascript
jQuery实现遍历复选框的方法示例
2017/03/06 Javascript
[38:39]KG vs Mineski 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
[43:03]LGD vs Newbee 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
[06:48]DOTA2-DPC中国联赛2月26日Recap集锦
2021/03/11 DOTA
在Python的Django框架中包装视图函数
2015/07/20 Python
itchat和matplotlib的结合使用爬取微信信息的实例
2017/08/25 Python
python中requests爬去网页内容出现乱码问题解决方法介绍
2017/10/25 Python
Python OpenCV实现图片上输出中文
2018/01/22 Python
python之从文件读取数据到list的实例讲解
2018/04/19 Python
PyQt4编程之让状态栏显示信息的方法
2019/06/18 Python
利用Pandas和Numpy按时间戳将数据以Groupby方式分组
2019/07/22 Python
使用python3 实现插入数据到mysql
2020/03/02 Python
python接入支付宝的实例操作
2020/07/20 Python
浅析关于Keras的安装(pycharm)和初步理解
2020/10/23 Python
HTML table 表格边框的实现思路
2019/10/12 HTML / CSS
皮姆斯勒语言学习:Pimsleur Language Programs
2018/06/30 全球购物
英国领先的餐饮折扣俱乐部:Gourmet Society
2020/07/26 全球购物
SQL Server面试题
2016/10/17 面试题
大学新生军训个人的自我评价
2013/10/03 职场文书
企划经理的岗位职责
2013/11/17 职场文书
广告学毕业生求职信
2014/01/30 职场文书
贯彻学习两会心得体会范文
2014/03/17 职场文书
机关职员工作检讨书
2014/10/23 职场文书
2014年社区工作总结
2014/11/18 职场文书
Python超简单容易上手的画图工具库推荐
2021/05/10 Python
Python写情书? 10行代码展示如何把情书写在她的照片里
2022/04/21 Python
css如何把元素固定在容器底部的四种方式
2022/06/16 HTML / CSS