XMLRPC 学习笔记(一)- Python 实现
参考文章:
- http://baike.baidu.com/view/643379.htm
- http://docs.python.org/2/library/xmlrpclib.html
- http://docs.python.org/2/library/simplexmlrpcserver.html
总览:
RPC是Remote Procedure Call的缩写,翻译成中文就是远程方法调用,是一种在本地的机器上调用远端机器上的一个过程(方法)的技术,这个过程也被大家称为“分布式计算”,是为了提高各个分立机器的“互操作性”而发明出来的技术。
XML-RPC的全称是XML Remote Procedure Call,即XML远程方法调用。
- 它是一套允许运行在不同操作系统、不同环境的程序实现基于Internet过程调用的规范和一系列的实现。
- 这种远程过程调用使用http作为传输协议,XML作为传送信息的编码格式。
- Xml-Rpc的定义尽可能的保持了简单,但同时能够传送、处理、返回复杂的数据结构。
Python下的XML-RPC:
- 类库:xmlrpclib
- 一般使用在客户端
- 这个模块用来调用注册在XML-RPC服务器端的函数
- xmlrpclib并不是一个类型安全的模块,无法抵御恶意构造的数据,这方面的一些处理工作需要交给开发者自己。
- 类库:SimpleXMLRPCServer
- 一般是用在服务器端
- 这个模块用来构造一个最基本的XML-RPC服务器框架
- 构造一个基本的XML-RPC Server:
from SimpleXMLRPCServer import SimpleXMLRPCServer def is_even(n):
return n%2 ==
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))
上述两段代码实现了一个最基本的XML-RPC服务器端和客户端,主要是为了阐述XML-RPC的基本概念。
最近因为工作的关系用到这一模块的相关功能,我也在积极学习中,我会将之后学到的新知识及时补充完善到博客上来。
如果您有一些非常不错的心得欢迎留言指教。
XMLRPC 学习笔记(一)- Python 实现的更多相关文章
- Noah的学习笔记之Python篇:命令行解析
Noah的学习笔记之Python篇: 1.装饰器 2.函数“可变长参数” 3.命令行解析 注:本文全原创,作者:Noah Zhang (http://www.cnblogs.com/noahzn/) ...
- Noah的学习笔记之Python篇:函数“可变长参数”
Noah的学习笔记之Python篇: 1.装饰器 2.函数“可变长参数” 3.命令行解析 注:本文全原创,作者:Noah Zhang (http://www.cnblogs.com/noahzn/) ...
- Noah的学习笔记之Python篇:装饰器
Noah的学习笔记之Python篇: 1.装饰器 2.函数“可变长参数” 3.命令行解析 注:本文全原创,作者:Noah Zhang (http://www.cnblogs.com/noahzn/) ...
- python3.4学习笔记(九) Python GUI桌面应用开发工具选择
python3.4学习笔记(九) Python GUI桌面应用开发工具选择 Python GUI开发工具选择 - WEB开发者http://www.admin10000.com/document/96 ...
- python3.4学习笔记(八) Python第三方库安装与使用,包管理工具解惑
python3.4学习笔记(八) Python第三方库安装与使用,包管理工具解惑 许多人在安装Python第三方库的时候, 经常会为一个问题困扰:到底应该下载什么格式的文件?当我们点开下载页时, 一般 ...
- 【学习笔记】Python 3.6模拟输入并爬取百度前10页密切相关链接
[学习笔记]Python 3.6模拟输入并爬取百度前10页密切相关链接 问题描述 通过模拟网页,实现百度搜索关键词,然后获得网页中链接的文本,与准备的文本进行比较,如果有相似之处则代表相关链接. me ...
- 学习笔记之Python 3
学习笔记之Python 3 教程 https://www.cnblogs.com/pegasus923/p/7624416.html 学习笔记之X分钟速成Python3 https://www.cnb ...
- python 学习笔记 9 -- Python强大的自省简析
1. 什么是自省? 自省就是自我评价.自我反省.自我批评.自我调控和自我教育,是孔子提出的一种自我道德修养的方法.他说:“见贤思齐焉,见不贤而内自省也.”(<论语·里仁>)当然,我们今天不 ...
- 第3次作业-MOOC学习笔记:Python网络爬虫与信息提取
1.注册中国大学MOOC 2.选择北京理工大学嵩天老师的<Python网络爬虫与信息提取>MOOC课程 3.学习完成第0周至第4周的课程内容,并完成各周作业 4.提供图片或网站显示的学习进 ...
- 第三次作业-MOOC学习笔记:Python网络爬虫与信息提取
1.注册中国大学MOOC 2.选择北京理工大学嵩天老师的<Python网络爬虫与信息提取>MOOC课程 3.学习完成第0周至第4周的课程内容,并完成各周作业 第一周 Requests库的爬 ...
随机推荐
- Solidworks如何设置零件材料,如何评估零件质量
右击材质,然后编辑材料,在弹出菜单中在Solidworks materials中选择零件材料(一般钢或者铁,注意质量密度是否跟你需要的一致),完成之后点击应用和关闭 在评估-质量属性中可以看到当前 ...
- java集合Collection接口
collection集合 Map集合 Hashtable和HashMap的区别: Hashtable的方法是同步的,而HashMap的方法不是.HashMap可以将空值作为一个表的条目的key或val ...
- 【VBA编程】14.操作工作簿对象
[访问工作簿] 对已经打开的工作簿,可以通过使用索引号来访问工作簿,也可以通过名称来访问工作簿 [代码区域] Sub 访问工作簿() Dim counter As Integer counter = ...
- angular开发中对请求数据层的封装
代码地址如下:http://www.demodashi.com/demo/11481.html 一.本章节仅仅是对angular4项目开发中数据请求封装到model中 仅仅是在项目angular4项目 ...
- asp 支付宝 企业版 接口 支持网银接口 ,网银直接支付
asp 支付宝 企业版 接口 支持网银接口 ,网银直接支付 仅仅是多了一个defalutbank的參数. 详细看 open.alipay.com <% ' 类名:AlipaySubmit ' 功 ...
- Linxu 监控命令总结
free –m [root@web1476 ~]# free total used free shared buffers cached M ...
- Memcached 教程
http://www.runoob.com/memcached/memcached-tutorial.html
- python 高级语法
#coding:utf-8 #定义一个装饰器函数 def doc_func(func): #包裹函数(闭包) def warpfunc(): #做一些额外的事情 print "%s call ...
- HTTP Cache怎样计算Age
这里的Age指的是响应头Age.以下内容有部分翻译,也有部分自己的理解.欢迎讨论. 我们用now表示当前主机的当前时间,用request_time表示缓存发起请求的时间,用response_time表 ...
- Scrapy使用问题整理(转载)
转载自:http://blog.csdn.net/heu07111121/article/details/50832999 最近尝试使用Scrapy进行数据抓取,并尝试在windows7 64位系 ...