Python下的XML-RPC客户端和服务端实现(基于xmlrpclib SimpleXMLRPCServer 模块)
2023-09-14 09:01:11 时间
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并启动:D:\Program Files\eclipse-workspace\HessianPro\basicXmlRPC\XmlRPCserver.py
#!/usr/bin/python # -*- coding:UTF-8 -*- from SimpleXMLRPCServer import SimpleXMLRPCServer from SimpleXMLRPCServer import SimpleXMLRPCRequestHandler class XmlRPCserver(): def datasum(self,x,y): print u'加法结果:',x+y return x+y def datadiv(self,x,y): print u'除法结果:',x/y return x/y if __name__ == '__main__': rpc_obj=XmlRPCserver() server=SimpleXMLRPCServer(("localhost", 8000)) server.register_function(rpc_obj.datasum, 'datasum') #注册函数 server.register_function(rpc_obj.datadiv,'datadiv') print "Listening on port 8000..." server.serve_forever()# 保持等待调用状态
4、构造一个基本的XML-RPC Client: D:\Program Files\eclipse-workspace\HessianPro\basicXmlRPC\XmlRPCclient.py
#!/usr/bin/python # -*- coding:UTF-8 -*- import xmlrpclib sp=xmlrpclib.ServerProxy('http://localhost:8000') print sp.datasum(1,2) print sp.datadiv(4,2)
相关文章
- python 生成数组_Python创建数组「建议收藏」
- python fileinput_Python之fileinput模块学习「建议收藏」
- python电脑版微信-微信PC版的API接口 | 可通过Python调用微信功能
- python编程前景_Python前景如何,学完后可以从事方向?
- python人工智能学习笔记_[Python] 人工智能与自然语言处理学习笔记(1)[通俗易懂]
- python整除和取余写法_Python的整除和取余[通俗易懂]
- python hashlib_Python hashlib模块实例使用详解
- python中替换字符串中字符_Python replace()函数:替换字符串中的某个字符「建议收藏」
- python之虚拟环境
- Python—-pywin32如何获取窗口句柄
- python包合集-cffi
- 【说站】python切片复制列表的本质
- Python数组切片_python print数组
- 【测试开发】python系列教程:第一个Python程序
- Python代写:CSC108H Tic-Tac-Toe
- python使用smtp发送字符串邮件
- 关于python中lambda函数的描述_Python全局变量
- Python 生成随机数_python 随机字符串
- Win10下Python虚拟环境virtualenv安装和使用
- python-Python与MySQL数据库-处理MySQL查询结果
- python-Python与SQLite数据库-SQLite数据库的基本知识(一)
- python-Python与PostgreSQL数据库-使用Python执行PostgreSQL查询(一)
- python-Python与PostgreSQL数据库-使用Python执行PostgreSQL查询(二)
- Python爬取豆瓣的各分类书单以及近期热门电影和top250的电影详解编程语言
- python 计算一年内的所有周的具体日期详解编程语言
- python ftplib模块制作ftp客户端详解编程语言
- python插入排序算法详解编程语言
- 小白的Python之路 day5 python模块详解及import本质编程语言
- python_day02-作业详解编程语言
- 快速安装Python MySQL模块(python安装mysql模块)
- 如何在 Fedora 上使用 Poetry 来管理你的 Python 项目?
- Connecting to MSSQL with Python: A Comprehensive Guide for Beginners(python连接mssql)
- 在Linux系统中使用Python编程语言(linux中python)