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

