python使用xmlrpc實(shí)例講解
RPC是Remote Procedure Call的縮寫,翻譯成中文就是遠(yuǎn)程方法調(diào)用,是一種在本地的機(jī)器上調(diào)用遠(yuǎn)端機(jī)器上的一個(gè)過程(方法)的技術(shù),這個(gè)過程也被大家稱為“分布式計(jì)算”,是為了提高各個(gè)分立機(jī)器的“互操作性”而發(fā)明出來的技術(shù)。
XML-RPC的全稱是XML Remote Procedure Call,即XML遠(yuǎn)程方法調(diào)用。
它是一套允許運(yùn)行在不同操作系統(tǒng)、不同環(huán)境的程序?qū)崿F(xiàn)基于Internet過程調(diào)用的規(guī)范和一系列的實(shí)現(xiàn)。
這種遠(yuǎn)程過程調(diào)用使用http作為傳輸協(xié)議,XML作為傳送信息的編碼格式。
Xml-Rpc的定義盡可能的保持了簡單,但同時(shí)能夠傳送、處理、返回復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。
Python下的XML-RPC:
1、類庫:xmlrpclib 一般使用在客戶端,這個(gè)模塊用來調(diào)用注冊在XML-RPC服務(wù)器端的函數(shù),xmlrpclib并不是一個(gè)類型安全的模塊,無法抵御惡意構(gòu)造的數(shù)據(jù),這方面的一些處理工作需要交給開發(fā)者自己。
2、類庫:SimpleXMLRPCServer 一般是用在服務(wù)器端,這個(gè)模塊用來構(gòu)造一個(gè)最基本的XML-RPC服務(wù)器框架
3、構(gòu)造一個(gè)基本的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函數(shù)
server.serve_forever()#啟動(dòng)服務(wù)器,并使其對這個(gè)連接可用
4、構(gòu)造一個(gè)基本的XML-RPC Client:
import xmlrpclib
proxy = xmlrpclib.ServerProxy("http://localhost:8000/")
print "3 is even: %s" % str(proxy.is_even(3))#客戶端調(diào)用XML-RPC函數(shù)
print "100 is even: %s" % str(proxy.is_even(100))
相關(guān)文章
基于Flask實(shí)現(xiàn)的Windows事件ID查詢系統(tǒng)
Windows操作系統(tǒng)的事件日志系統(tǒng)記錄了數(shù)百種不同的事件ID,每個(gè)ID對應(yīng)特定的系統(tǒng)事件,本文介紹如何構(gòu)建一個(gè)基于Web的事件ID查詢系統(tǒng),文章通過代碼示例介紹的非常詳細(xì),需要的朋友可以參考下2025-04-04
Django rest framework工具包簡單用法示例
這篇文章主要介紹了Django rest framework工具包簡單用法,結(jié)合匿名訪問控制的具體實(shí)例分析了Django rest framework工具包的注冊、路由設(shè)置、視圖、權(quán)限控制、配置等相關(guān)操作技巧,需要的朋友可以參考下2018-07-07
在Python中采集Prometheus數(shù)據(jù)的詳細(xì)用法教程
Prometheus是一個(gè)開源的監(jiān)控和警報(bào)工具,專門用于記錄和查詢時(shí)間序列數(shù)據(jù),它提供了一個(gè)強(qiáng)大的查詢語言PromQL(Prometheus Query Language),允許用戶根據(jù)不同的標(biāo)簽和指標(biāo)選擇特定的時(shí)間序列數(shù)據(jù),本文將詳細(xì)介紹如何在Python中采集Prometheus數(shù)據(jù)2024-07-07
解決運(yùn)行出現(xiàn)''dict'' object has no attribute ''has_key''問題
這篇文章主要介紹了快速解決出現(xiàn)class object has no attribute ' functiong' or 'var'問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07

