python使用xmlrpc實(shí)例講解
RPC是Remote Procedure Call的縮寫,翻譯成中文就是遠(yuǎn)程方法調(diào)用,是一種在本地的機(jī)器上調(diào)用遠(yuǎn)端機(jī)器上的一個(gè)過(guò)程(方法)的技術(shù),這個(gè)過(guò)程也被大家稱為“分布式計(jì)算”,是為了提高各個(gè)分立機(jī)器的“互操作性”而發(fā)明出來(lái)的技術(shù)。
XML-RPC的全稱是XML Remote Procedure Call,即XML遠(yuǎn)程方法調(diào)用。
它是一套允許運(yùn)行在不同操作系統(tǒng)、不同環(huán)境的程序?qū)崿F(xiàn)基于Internet過(guò)程調(diào)用的規(guī)范和一系列的實(shí)現(xiàn)。
這種遠(yuǎn)程過(guò)程調(diào)用使用http作為傳輸協(xié)議,XML作為傳送信息的編碼格式。
Xml-Rpc的定義盡可能的保持了簡(jiǎn)單,但同時(shí)能夠傳送、處理、返回復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。
Python下的XML-RPC:
1、類庫(kù):xmlrpclib 一般使用在客戶端,這個(gè)模塊用來(lái)調(diào)用注冊(cè)在XML-RPC服務(wù)器端的函數(shù),xmlrpclib并不是一個(gè)類型安全的模塊,無(wú)法抵御惡意構(gòu)造的數(shù)據(jù),這方面的一些處理工作需要交給開(kāi)發(fā)者自己。
2、類庫(kù):SimpleXMLRPCServer 一般是用在服務(wù)器端,這個(gè)模塊用來(lái)構(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") #注冊(cè)is_even函數(shù)
server.serve_forever()#啟動(dòng)服務(wù)器,并使其對(duì)這個(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)文章
Django靜態(tài)資源URL STATIC_ROOT的配置方法
這篇文章主要介紹了Django靜態(tài)資源URL STATIC_ROOT的配置方法,本文給出配置方法和兩種使用方法,需要的朋友可以參考下2014-11-11Python多任務(wù)版靜態(tài)Web服務(wù)器實(shí)現(xiàn)示例
這篇文章主要為大家介紹了Python靜態(tài)Web服務(wù)器多任務(wù)版實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06Python隨機(jī)函數(shù)random()使用方法小結(jié)
random()是Python中生成隨機(jī)數(shù)的函數(shù),是由random模塊控制,random()函數(shù)不能直接訪問(wèn),需要導(dǎo)入random 模塊,然后再通過(guò)相應(yīng)的靜態(tài)對(duì)象調(diào)用該方法才能實(shí)現(xiàn)相應(yīng)的功能2018-04-04Python3使用xlrd、xlwt處理Excel方法數(shù)據(jù)
這篇文章主要介紹了Python3使用xlrd、xlwt處理Excel方法數(shù)據(jù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02Python光學(xué)仿真數(shù)值分析求解波動(dòng)方程繪制波包變化圖
這篇文章主要為大家介紹了Python光學(xué)仿真通過(guò)數(shù)值分析求解波動(dòng)方程并繪制波包變化圖的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-10-10python 使用Tensorflow訓(xùn)練BP神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)鳶尾花分類
這篇文章主要介紹了python 使用Tensorflow訓(xùn)練BP神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)鳶尾花分類,幫助大家更好的利用python進(jìn)行深度學(xué)習(xí),感興趣的朋友可以了解下2021-05-05django開(kāi)發(fā)教程之利用緩存文件進(jìn)行頁(yè)面緩存的方法
緩存相信對(duì)各位程序員們來(lái)說(shuō)都不陌生,下面這篇文章主要給大家介紹了關(guān)于django開(kāi)發(fā)教程之利用緩存文件進(jìn)行頁(yè)面緩存的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-11-11