python rpc webservice_PythonXMLRPC服务器端和客户端实例
一、远程过程调用RPC
XML-RPC is a Remote Procedure Call method that uses XML passed via HTTP as a transport. With it, a client can call methods with parameters on a remote server (the server is named by a URI) and get back structured data. This module supports writing XML-RPC client code; it handles all the details of translating between conformable Python objects and XML on the wire.
简单地,client可以调用server上提供的方法,然后得到执行的结果。类似与webservice。
推荐查看xmlprc的源文件:C:\Python31\Lib\xmlrpc
二、实例
1) Server
代码如下:
from xmlrpc.server import SimpleXMLRPCServer
from xmlrpc.server import SimpleXMLRPCRequestHandler
def div(x,y):
return x - y
class Math:
def _listMethods(self):
# this method must be present for system.listMethods
# to work
return ['add', 'pow']
def _methodHelp(self, method):
# this method must be present for system.methodHelp
# to work
if method == 'add':
return "add(2,3) => 5"
elif method == 'pow':
return "pow(x, y[, z]) => number"
else:
# By convention, return empty
# string if no help is available
return ""
def _dispatch(self, method, params):
if method == 'pow':
return pow(*params)
elif method == 'add':
return params[0] + params[1]
else:
raise 'bad method'
server = SimpleXMLRPCServer(("localhost", 8000))
server.register_introspection_functions()
server.register_function(div,"div")
server.register_function(lambda x,y: x*y, 'multiply')
server.register_instance(Math())
server.serve_forever()
2)client
代码如下:
import xmlrpc.client
s = xmlrpc.client.ServerProxy('http://localhost:8000')
print(s.system.listMethods())
print(s.pow(2,3)) # Returns 28
print(s.add(2,3)) # Returns 5
print(s.div(3,2)) # Returns 1
print(s.multiply(4,5)) # Returns 20
3)result
本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉
本文系统来源:php中文网
python rpc webservice_PythonXMLRPC服务器端和客户端实例相关推荐
- c++ socket服务器端和客户端实例(实现简单监控功能)
服务器端 #include "stdafx.h" #include <opencv2/opencv.hpp> #include <WinSock2.h> # ...
- python tcp服务器_python实现TCP服务器端与客户端的方法详解
本文实例讲述了python实现TCP服务器端与客户端的方法.分享给大家供大家参考.具体如下: TCP服务器程序(tsTserv.py): from socket import * from time ...
- MQTT协议学习:3、MQTT客户端实例
MQTT协议学习:3.MQTT客户端实例 文章目录 MQTT协议学习:3.MQTT客户端实例 1. 前言 2. Paho MQTT (1). Go客户端实例 (2). Python客户端实例 (3). ...
- python下载文件传到服务器_python实现FTP文件传输的方法(服务器端和客户端)
用python实现FTP文件传输,包括服务器端和客户端,要求 (1)客户端访问服务器端要有一个验证功能 (2)可以有多个客户端访问服务器端 (3)可以对重名文件重新上传或下载 FTP(File Tra ...
- python下载文件传到服务器_python实现FTP文件传输(服务器端和客户端)
用python实现FTP文件传输,包括服务器端和客户端,要求 (1)客户端访问服务器端要有一个验证功能 (2)可以有多个客户端访问服务器端 (3)可以对重名文件重新上传或下载 FTP(File Tra ...
- python应用系列教程——python使用socket创建udp服务器端和客户端
全栈工程师开发手册 (作者:栾鹏) python教程全解 python使用socket创建udp服务器端和客户端. 服务器端为一个时间戳服务器,在接收到客户端发来的数据后,自动回复. 客户端,等待用户 ...
- python——通过socket实现服务器端和客户端的在线聊天
前言:本文讲解涉及到python中socket函数用法,需要巩固基础知识的可以查看下面博客 python--Socket网络编程(详细讲解)(一)_xiaofengdada的博客-CSDN博客_soc ...
- 学习笔记-RPC远程调用概念和实例
RPC远程调用概念和实例 一定要注意顺序,先hook,然后invoke,再rpc 逆向三段: 第三段RPC:Remote Procedure Call 远程调用 FRIDA精髓:远程调动 frida( ...
- 【Socket】Python UDP和TCP的socket实例
Socket UDP socket UDP Server端 UDP Client端 TCP socket TCP Server端 TCP Client端 总结 代码下载 Socket Socket又称 ...
最新文章
- 快速增强路由器安全的十个小技巧
- srwebsocket 服务器过段时间会关闭_王者荣耀:伽罗大招遭到暗改?开启后直接冷却时间,无法手动关闭...
- 【终极方法】Unknown initial character set index ‘255‘ received from server. Initial client characte
- Jenkins系列之五——通过Publish over SSH插件实现远程部署
- MFC工作笔记0009---VC++中 PostMessage和SendMessage的区别
- Linux 下的驱动开发最简单例子
- AtomicInteger简介
- 代码重构之旅(一) 项目结构
- php 改变页面元素,动态更改网页HTML元素(对象)内容_经验交流
- 如何使用wordnet
- 【车牌识别】基于matlab GUI模板匹配车牌识别(带面板)【含Matlab源码 1215期】
- matlab与数学模型相结合例题,数学知识、数学建模、现代数学软件关系 与结合...
- 北大核心期刊目录2020_音乐舞蹈类核心期刊目录(2020年最新收藏版)
- PHP获取当前域名(判断域名)
- 运放输入偏置电流方向_运算放大器的输入偏置电流
- 什么是索引,索引的作用,什么时候需要使用索引,什么时候不需要使用索引
- 6S大气校正模型源码
- MariaDB Galera Cluster 集群部署
- Intel x86_64 CPUID指令介绍
- 让NFT-Fi流行起来
热门文章
- 嵌入式C语言之struct内存分配分析
- ios手机 php无法上传文件,【已解决】uni.uploadFile 苹果ios图片上传不成功
- mysql分区表mycat_MySQL 中间件之Mycat垂直分表配置
- 【音乐】想不起来歌名的瞎唱
- 打CALL APP 项目进展 总体计划
- 171. Excel Sheet Column Number (Easy)
- jQuery$命名冲突问题解决方法
- [转载]MVVM、MVVMLight、MVVMLight Toolkit之我见
- 福州公交车与拖拉机相撞1人死亡
- 马上就校招了,是要去实习还是复习?