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 importSimpleXMLRPCServerdefis_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))

SimpleXMLRPC_python xmlrpclib SimpleXMLRPCServer 模块相关推荐

  1. web编程 模块1 html,PYcore python programming笔记C20 Web编程

     C20 Web编程 20.1介绍 C/S架构  服务端永远运行 HTTP协议 :无状态协议,不跟踪一个客户端到另一个客户端的请求,但会被处理为独立的服务请求 使用URL和cookie保存信息 U ...

  2. Python的XML-RPC学习

    编写客户端提交数据到服务器处理是程序员最常碰到的几个问题之一.各种不同的语言对此都有相应的解决方案.比如Unix下,C程序员们可以用SUNRPC,Java程序员则使用RMI来处理.大多数语言还都可以使 ...

  3. 编程软件python中的if用法-Python高效编程的19个技巧

    初识Python语言,觉得python满足了我上学时候对编程语言的所有要求.python语言的高效编程技巧让我们这些大学曾经苦逼学了四年c或者c++的人,兴奋的不行不行的,终于解脱了.高级语言,如果做 ...

  4. 简明python教程 --C++程序员的视角(八):标准库

    os模块 这个模块包含普遍的操作系统功能. 如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的.一个例子就是使用os.sep可以取代操作系统特定的路径分割符. os.system() 执行li ...

  5. python网络编程证书_《Python网络编程基础》笔记

    python网络编程基础 ================== Author: lujun9972 Date: 2013-03-08 22:29:20 CST Table of Contents == ...

  6. Python中关于XML-RPC原理

    SimpleXMLRPCServer模块为XML-RPC服务端的写入提供了一个基本的框架.利用SimpleXMLRPCServer服务器既可以一直空闲,也可以利用CGIXMLRPCRequestHan ...

  7. python dry原则_关于Python 的这几个技巧,你应该知道

    随着大数据时代的到来,我们每天都在接触爬虫相关的事情,这其中就不得不提及Python这门编程语言.我已经使用Python编程有多年了,即使今天我仍然惊奇于这种语言所能让代码表现出的整洁和对DRY编程原 ...

  8. 重温这几个屌爆的Python技巧!

    我已经使用Python编程有多年了,即使今天我仍然惊奇于这种语言所能让代码表现出的整洁和对DRY编程原则的适用.这些年来的经历让我学到了很多的小技巧和知识,大多数是通过阅读很流行的开源软件,如Djan ...

  9. 【转】Python的XML-RPC简介

    编写客户端提交数据到服务器处理是程序员最常碰到的几个问题之一.各种不同的语言对此都有相应的解决方案.比如Unix下,C程序员们可以用SUNRPC,Java程序员则使用RMI来处理.大多数语言还都可以使 ...

最新文章

  1. redis命令_Redis 命令执行过程(下)
  2. 暴风影音去广告链接和后台运行进程
  3. SVN 问题解决之 The XML response contains invalid XML
  4. docker-compose 安装方法
  5. 儿童手工制作日历_怎么做手工儿童卡通绵羊日程管理小日历
  6. python将页面保存为html_python – :将html保存为文本
  7. html5的常用标签,HTML5常用标签
  8. python动态获取cookie_看到很多人求助python 我也求助一下如何写cookie的获取和登录吧...
  9. 传统认知PK网络认知 刚子扯谈烤串认知
  10. cas单点注销失败Error Sending message to url endpoint
  11. Linux下安装python及MySQLdb
  12. distributeed 1.21.8 requires msgpack,which is not installed 分布式1.21.8需要msgpack,未安装
  13. 苹果手机计算机怎么放桌面,iOS13系统的苹果手机中如何重新布局桌面应用
  14. android obtain,Android 模拟Message.obtain(),构建自己的缓存池
  15. 数据可视化怎么操作?看完这篇你就明白了
  16. Microchip具有SDI和SQI接口串行SRAM存储器23LC512
  17. 内存映射文件 错误码(1132、5)
  18. esxi怎么传输文件到虚拟机_软路由篇2:3865U软路由折腾记——Esxi软虚拟机+OpenWrt教程
  19. 视频号领域发布的不同时间,视频号上热门秘诀:国仁楠哥
  20. 眼界决定境界,你也可以

热门文章

  1. 来自后端的突袭? --开包即食的教程带你浅尝最新开源的C# Web引擎 Blazor
  2. ASP.NET Core服务器综述
  3. 构建高性能.NET应用之配置高可用IIS服务器-第二篇 IIS请求处理模型
  4. matlab 边缘检测不闭合,Matlab多种图像边缘检测方法
  5. 【MATLAB统计分析与应用100例】案例004:matlab调用smoothts函数对金融时间序列数据进行平滑处理
  6. C语言试题四十五之把第1到第p个字符,平移到字符串的最后,把第p+1到最后的字符移到字符串的前部。
  7. Android之实现夸克浏览器书签和历史页面滑动时候右上角图标切换效果
  8. Android之自定义View实现带4圆角或者2圆角的效果
  9. 为什么越来越多的开发者选择使用Spring Boot
  10. Android之AsyncTask异步任务详解总结