python使用xmlrpc实例讲解

2013-11-14  来源:本站原创  分类:Python  人气:3 

这篇文章主要介绍了python中使用xmlrpc的实例,大家参考使用吧

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使用xmlrpc实例讲解 2013-11-14

    这篇文章主要介绍了python中使用xmlrpc的实例,大家参考使用吧 RPC是Remote Procedure Call的缩写,翻译成中文就是远程方法调用,是一种在本地的机器上调用远端机器上的一个过程(方法)的技术,这个过程也被大家称为"分布式计算",是为了提高各个分立机器的"互操作性"而发明出来的技术. XML-RPC的全称是XML Remote Procedure Call,即XML远程方法调用. 它是一套允许运行在不同操作系统.不同环境的程序实现基于Inte

  • Python collections模块实例讲解 2013-12-15

    Python作为一个"内置电池"的编程语言,标准库里面拥有非常多好用的模块.比如今天想给大家 介绍的 collections 就是一个非常好的例子 collections模块基本介绍 我们都知道,Python拥有一些内置的数据类型,比如str, int, list, tuple, dict等, collections模块在这些内置数据类型的基础上,提供了几个额外的数据类型: 1.namedtuple(): 生成可以使用名字来访问元素内容的tuple子类 2.deque: 双端队列,可以

  • python中的多重继承实例讲解 2014-03-12

    这篇文章主要介绍了python中的多重继承实例讲解,本文着重讲解寻找父类的顺序,分为经典类和新式类,需要的朋友可以参考下 python和C++一样,支持多继承.概念虽然容易,但是困难的工作是如果子类调用一个自身没有定义的属性,它是按照何种顺序去到父类寻找呢,尤其是众多父类中有多个都包含该同名属性. 对经典类和新式类来说,属性的查找顺序是不同的.现在我们分别看一下经典类和新式类两种不同的表现: 经典类: #! /usr/bin/python # -*- coding:utf-8 -*- class

  • Python进程通信之匿名管道实例讲解 2014-09-04

    这篇文章主要介绍了Python进程通信之匿名管道实例讲解,本文直接给出代码实例,代码中包含详细注释,需要的朋友可以参考下 匿名管道 管道是一个单向通道,有点类似共享内存缓存.管道有两端,包括输入端和输出端.对于一个进程的而言,它只能看到管道一端,即要么是输入端要么是输出端. os.pipe()返回2个文件描述符(r, w),表示可读的和可写的.示例代码如下: #!/usr/bin/python import time import os def child(wpipe): print('hell

  • Python使用urllib2获取网络资源实例讲解 2015-04-30

    urllib2是Python的一个获取URLs(Uniform Resource Locators)的组件.他以urlopen函数的形式提供了一个非常简单的接口,下面我们用实例讲解他的使用方法 这是具有利用不同协议获取URLs的能力,他同样提供了一个比较复杂的接口来处理一般情况,例如:基础验证,cookies,代理和其他. 它们通过handlers和openers的对象提供. urllib2支持获取不同格式的URLs(在URL的":"前定义的字串,例如:"ftp"是

  • 实例讲解python函数式编程 2014-06-24

    这篇文章主要介绍了python函数式编程实例,使用一个例子来阐述python函数式编程,需要的朋友可以参考下 函数式编程是使用一系列函数去解决问题,按照一般编程思维,面对问题时我们的思考方式是"怎么干",而函数函数式编程的思考方式是我要"干什么". 至于函数式编程的特点暂不总结,我们直接拿例子来体会什么是函数式编程. lambda表达式(匿名函数): 普通函数与匿名函数的定义方式: #普通函数 def add(a,b): return a + b print add

  • python多线程操作实例 2013-12-16

    这篇文章主要介绍了python多线程操作实例,本文先是讲解了python多线程的相关知识.python多线程使用的两种方法等内容,需要的朋友可以参考下 一.python多线程 因为CPython的实现使用了Global Interpereter Lock(GIL),使得python中同一时刻只有一个线程在执行,从而简化了python解释器的实现,且python对象模型天然地线程安全.如果你想你的应用程序在多核的机器上使用更好的资源,建议使用multiprocessing或concurrent.f

  • Python with用法实例 2013-12-29

    这篇文章主要介绍了Python with用法实例,本文讲解了with语句的几种使用方法和使用场景,需要的朋友可以参考下 python中with可以明显改进代码友好度,比如: with open('a.txt') as f: print f.readlines() 为了我们自己的类也可以使用with, 只要给这个类增加两个函数__enter__, __exit__即可: 复制代码 代码如下: >>> class A: def __enter__(self): print 'in enter

  • Lua中的函数(function).可变参数.局部函数.尾递归优化等实例讲解 2014-04-05

    这篇文章主要介绍了Lua中的函数(function).可变参数.局部函数.尾递归优化等实例讲解,需要的朋友可以参考下 一.函数 在Lua中,函数是作为"第一类值"(First-Class Value),这表示函数可以存储在变量中,可以通过参数传递给其他函数,或者作为函数的返回值(类比C/C++中的函数指针),这种特性使Lua具有极大的灵活性. Lua对函数式编程提供了良好的支持,可以支持嵌套函数. 另外,Lua既可以调用Lua编写的函数,还可以调用C语言编写的函数(Lua所有的标准库都

  • python多进程操作实例 2014-07-11

    这篇文章主要介绍了python多进程操作实例,本文讲解了multiprocessing类的相关方法,然后给出了一个综合实例和运行效果,需要的朋友可以参考下 由于CPython实现中的GIL的限制,python中的多线程其实并不是真正的多线程,如果想要充分地使用多核CPU的资源,在python中大部分情况我们需要使用多进程. 这也许就是python中多进程类库如此简洁好用的原因所在.在python中可以向多线程一样简单地使用多进程. 一.多进程 process的成员变量和方法: >>class

  • Python函数嵌套实例 2014-11-30

    这篇文章主要介绍了Python函数嵌套实例,本文用实例讲解了Python中的函数嵌套特性,需要的朋友可以参考下 在Python中函数可以作为参数进行传递,而也可以赋值给其他变量(类似Javascript,或者C/C++中的函数指针): 类似Javascript,Python支持函数嵌套,Javascript嵌套函数的应用模式对Python适用: >>> def multiplier(factor): ... def multiple(number): ... return number

  • Python's xmlrpc debugging 2010-07-19

    Python's xmlrpc debug -------------------------------- cnblogs debug: First encounter: pyblog.BlogError: request contains array value where string expected [request: parameter 1] Modify the xmlrpc module code, client.py in the code class Marshaller a

  • C#算法之全排列递归算法实例讲解 2013-10-03

    这篇文章主要介绍了C#算法之全排列递归算法实例讲解,本文讲解了算法思路.算法代码实例.解决重复元素的排列问题等内容,需要的朋友可以参考下 排列:从n个元素中任取m个元素,并按照一定的顺序进行排列,称为排列: 全排列:当n==m时,称为全排列: 比如:集合{ 1,2,3}的全排列为: { 1 2 3} { 1 3 2 } { 2 1 3 } { 2 3 1 } { 3 2 1 } { 3 1 2 } 我们可以将这个排列问题画成图形表示,即排列枚举树,比如下图为{1,2,3}的排列枚举树,此树和我们

  • mysql insert语句操作实例讲解 2013-10-05

    这篇文章主要介绍了mysql insert语句操作实例讲解,本文讲解了insert的基本语法.批量插入多条数据.使用set插入数据.INSERT-SELECT语句等内容,需要的朋友可以参考下 insert的语法 INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [(col_name,...)] VALUES ({expr | DEFAULT},...),(...),... [ ON DUPLICATE

  • python列表操作实例 2013-10-16

    这篇文章主要介绍了python列表操作方法,实例分析了Python针对列表操作的插入.删除等各种操作技巧,需要的朋友可以参考下 本文实例讲述了python列表操作的方法.分享给大家供大家参考. 具体实现方法如下: class Node: """Single node in a data structure""" def __init__(self, data): """Node constructor"&q

  • 实例讲解PHP面向对象之多态 2013-10-30

    这篇文章主要介绍了实例讲解PHP面向对象之多态,本文用实例讲解什么情况下使用PHP的多态.多态的好处等内容,可以充分帮你理解多态,需要的朋友可以参考下 什么是多态性? 多态性是继数据库抽象和继承后,面向对象语言的第三个特征.多态即多种形态,具有表现多种形态的能力特征.在面向对象中表示根据对象的类型以不同方式处理.多态性允许每个对象以适合自身的方式去响应共同的消息.多态性增强了软件的灵活性和重用性. 如我们创建一个doing()方法,如果是学生则打印上课,如是公司职员则打印上班. 普通做法 使用i

  • php 模拟post_验证页面的返回状态(实例讲解) 2013-11-05

    php模拟post_验证页面的返回状态(实例讲解).需要的朋友可以过来参考下,希望对大家有所帮助 1.主要文件,访问该页面,该页面根据"验证页面"的返回结果设置本文件的返回状态 header('HTTP/1.1 '.$code.' '.$_status[$code]) <?php ini_set('max_execution_time', 120); include("CheckConfig.php"); function send_http_status($

  • 实例讲解Lua中pair和ipair的区别 2013-12-02

    这篇文章主要介绍了实例讲解Lua中pair和ipair的区别,本文直接用实例代码来讲解pair和ipair的区别,需要的朋友可以参考下 采用pair: function print_contents(params) for k, v in pairs(params) do print(k, " ", v) end end print_contents({20, 40, 50}) 采用inpari: 复制代码 代码如下: local tt = { [1] = "test3&qu

  • C#设计模式之观察者模式实例讲解 2014-01-02

    这篇文章主要介绍了C#设计模式之观察者模式实例讲解,本文详细讲解了观察者模式的定义.优缺点.代码实例等,需要的朋友可以参考下 前言 最近开始花点心思研究下设计模式,主要还是让自己写的代码可重用性高.保证代码可靠性.所谓设计模式,我找了下定义:是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.毫无疑问,设计模式于己于他人于系统都是多赢的:设计模式使代码编制真正工程化:设计模式是软件工程的基石脉络,如同大厦的结构一样. 为什么要提倡"Design Pattern(设计模式)&quo

  • python映射列表实例分析 2014-02-04

    这篇文章主要介绍了python映射列表,实例分析了python映射列表遍历计算其中每一个元素的使用技巧,需要的朋友可以参考下 本文实例讲述了python映射列表.分享给大家供大家参考.具体分析如下: 列表映射是个非常有用的方法,通过对列表的每个元素应用一个函数来转换数据,可以使用一种策略或者方法来遍历计算每个元素. 例如: params = {"server":"mpilgrim", \ "database":"master"