一、簡介
為了解決在系統的80埠提供rpc的服務,而又不影響正在執行的web服務,人們想出了用http協議傳輸rpc包的辦法。對於幾乎是專門用於傳輸文字的http協議,要在其上傳輸rpc封包,最方便的方法莫過於把rpc封包編碼成文字形式——例如xml檔案。
xml- rpc(是由美國userland公司指定的乙個rpc協議。它將rpc資訊封包編碼為xml,然後通過 http傳輸封包;
簡單的理解:
將資料定義為xml格式,通過http協議進行遠端傳輸。
二、好處
1. 傳輸複雜的資料。
2. 通過程式語言的封裝,實現遠端物件的呼叫。
三、python中xmlrpc應用
伺服器端:
from ******xmlrpcserver import *
#import ******xmlrpcrequesthandler
def div(x,y):
return x -y
class math:
def _listmethods(self):
return ['add','pow']
def _methodhelp(self,method):
if method == 'add':
return "add(2,3) =>5"
elif method == 'pow':
return "pow(x,y[,z])=>number"
else:
return ""
def _dispatch(self,method,params):
if method == 'pow':
return pow(*params)
elif method == 'add':
return params[0] + params[1]
else:
raise 'bad method'
server = ******xmlrpcserver(("localhost",8000))
# register_introspection_functions:registers the xml-rpc introspection methods in the system namespace
server.register_introspection_functions()
server.register_function(div,"div")
server.register_function(lambda x,y:x*y,'multiply')
server.register_instance(math())
#serve_forever:handle one request at a time until shutdown.
#polls for shutdown every poll_interval seconds. ignores
#self.timeout. if you need to do periodic tasks, do them in
#another thread.
server.serve_forever()
客戶端:
運**況:
Python的招牌菜xmlrpc
一 簡單介紹 為了解決在系統的80port提供rpc的服務。而又不影響正在執行的web服務。人們想出了用http協議傳輸rpc包的辦法。對於差點兒是專門用於傳輸文字的http協議。要在其上傳輸rpc封包。最方便的方法莫過於把rpc封包編碼成文字形式 比如xml檔案。xml rpc 是由美國userl...
非常菜的Python學習筆記
即將大三了,不能再鹹魚下去了,想要成為乙個可以掌握一門語言的程式媛 python學習是跟著集智的負基礎入門python一步一步來,把遇到的問題和解決方案貼在自己的部落格裡。今天看到了第四課的列表,裡面有個有意思的課後題 街機遊戲人物選擇 fighters ryu e.honda blanka gui...
不能再菜的酸菜的python學習筆記
0324 6.1 集合型別及操作 1 集合使用 和set 建立 2 集合間的操作 交 差 並 補 比較 3 集合型別的方法 add 增加元素 discard 清除元素 pop 取出元素給使用者 等 4 集合型別主要應用 包含關係比較 資料去重 set ls 0325 6.2序列型別及操作 1 序列包...