zoukankan      html  css  js  c++  java
  • XMLRPC 学习笔记(一)- Python 实现

    参考文章:

    总览:

    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:
    1 from SimpleXMLRPCServer import SimpleXMLRPCServer
    2 
    3 def is_even(n):
    4     return n%2 == 0
    6 server = SimpleXMLRPCServer(("localhost", 8000))#确定URL和端口
    7 print "Listening on port 8000..."
    8 server.register_function(is_even, "is_even") #注册is_even函数
    9 server.serve_forever()#启动服务器,并使其对这个连接可用

    4.  构造一个基本的XML-RPC Client:

    1 import xmlrpclib
    2 
    3 proxy = xmlrpclib.ServerProxy("http://localhost:8000/")
    4 print "3 is even: %s" % str(proxy.is_even(3))#客户端调用XML-RPC函数
    5 print "100 is even: %s" % str(proxy.is_even(100))

    上述两段代码实现了一个最基本的XML-RPC服务器端和客户端,主要是为了阐述XML-RPC的基本概念。

    最近因为工作的关系用到这一模块的相关功能,我也在积极学习中,我会将之后学到的新知识及时补充完善到博客上来。

    如果您有一些非常不错的心得欢迎留言指教。

  • 相关阅读:
    Tensorflow-K近邻算法
    RDD编程初级实践
    Spark_RDD
    《软件需求》阅读笔记三
    Spark简单使用案例-WordCount
    tensorflow线性回归
    Scala+idea环境配置和简单使用
    《软件需求》阅读笔记二
    Typora+PicGo+Gitee打造博客图床
    sklearn转换器和估计器&k-近邻
  • 原文地址:https://www.cnblogs.com/amsun/p/3138267.html
Copyright © 2011-2022 走看看