記一次python XML-RPC簡(jiǎn)單學(xué)習(xí)

小白剛?cè)腴T(mén)缺脉,如有不足之處請(qǐng)多指教。謝謝悦穿!

今天簡(jiǎn)單記錄一下XML-RPC 的學(xué)習(xí)過(guò)程攻礼。

1.什么是XML-RPC?

最簡(jiǎn)單的方式當(dāng)然是百度啦栗柒。但是我基礎(chǔ)太差了礁扮,看百度都頭大:

XML-RPC的全稱(chēng)是XML Remote Procedure Call知举,即XML(標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言下的一個(gè)子集)遠(yuǎn)程過(guò)程調(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)立肘。這個(gè)過(guò)程也被大家稱(chēng)為“分布式計(jì)算”。

我的理解就是在一臺(tái)電腦上的數(shù)據(jù)名扛,通過(guò)xml-rpc的形式谅年,可以在另外一臺(tái)電腦上訪問(wèn)。如果看百度不清楚還是直接看程序吧:

(選自 https://blog.csdn.net/comprel/article/details/72633406 )


2.兩個(gè)庫(kù)

類(lèi)庫(kù):xmlrpclib? ? 一般使用在客戶端肮韧,這個(gè)模塊用來(lái)調(diào)用注冊(cè)在XML-RPC服務(wù)器端的函數(shù)融蹂,xmlrpclib并不是一個(gè)類(lèi)型安全的模塊,無(wú)法抵御惡意構(gòu)造的數(shù)據(jù)弄企,這方面的一些處理工作需要交給開(kāi)發(fā)者自己殿较。

類(lèi)庫(kù):SimpleXMLRPCServer? 一般是用在服務(wù)器端,這個(gè)模塊用來(lái)構(gòu)造一個(gè)最基本的XML-RPC服務(wù)器框架(單線程服務(wù)器)

大致用法:使用SimpleXMLRPCServer模塊運(yùn)行XMLRPC服務(wù)器桩蓉,在其中注冊(cè)服務(wù)器提供的函數(shù)或者對(duì)象淋纲;然后在客戶端內(nèi)使用xmlrpclib.ServerProxy連接到服務(wù)器,想要調(diào)用服務(wù)器的函數(shù)院究,直接調(diào)用ServerProxy即可洽瞬。

服務(wù)端:

第4行:服務(wù)端定義了get_power這個(gè)函數(shù),其結(jié)果是n^m业汰。

第7行:“0.0.0.0”輸入自己的localhost伙窃,后面的“8081”是端口。(要注意端口是否被占用样漆,防火墻是否開(kāi)放該端口为障,鏈接:https://jingyan.baidu.com/article/624e745902cebc34e9ba5a58.html)(入站規(guī)則和出站規(guī)則都改一下)

tips:

1. 服務(wù)端和客戶端要在一臺(tái)主機(jī)上做測(cè)試的話,要不全寫(xiě)成"localhost"或者全寫(xiě)成"127.0.0.1"形式,要不全寫(xiě)成自己的內(nèi)網(wǎng)IP或外網(wǎng)IP,如"192.168.0.10"形式;

2. 不在同一個(gè)主機(jī)上的話放祟,服務(wù)端本地地址不能寫(xiě)成"127.0.0.1"或者"localhost"鳍怨,而要寫(xiě)成自己的內(nèi)網(wǎng)IP或外網(wǎng)IP形式。

3. 最簡(jiǎn)單一種方法:服務(wù)端地址寫(xiě)成""形式跪妥。

第9行:注冊(cè)該函數(shù)鞋喇。

第10行:開(kāi)始啟動(dòng)服務(wù)器。

客服端:

第1行:xmlrpclib 及 simplexmlrpcserver都是python2自帶的不需要安裝第三方庫(kù)眉撵。

第3行:客服端的localhost和之前設(shè)定的端口侦香。(為了更好的區(qū)別不同服務(wù))

第4落塑、5行:調(diào)用在服務(wù)端定義的函數(shù)。

簡(jiǎn)單的xml-rpc就完成啦罐韩『读蓿看程序比看文字好理解很多,大致就是遠(yuǎn)程調(diào)用服務(wù)端上的數(shù)據(jù)散吵、函數(shù)等等龙考。只是其調(diào)用方式使用http作為傳輸協(xié)議,XML作為傳送信息的編碼格式错蝴。(http協(xié)議和xml編碼格式可以了解一下(菜鳥(niǎo)教程):http://www.runoob.com/http/http-tutorial.html? ? http://www.runoob.com/xml/xml-tutorial.html)

3.一些簡(jiǎn)單的使用:

https://blog.csdn.net/comprel/article/details/72633482

https://blog.csdn.net/comprel/article/details/72633406

4.記錄一些遇到的問(wèn)題及經(jīng)驗(yàn):

connection refused:

檢查端口是否被占用洲愤;檢查防火墻設(shè)置出、入站規(guī)則顷锰;檢查localhost是否正確柬赐;

如何查看localhost

windows一般是127.0.0.1.但是要注意區(qū)別localhost、ip官紫、127.0.0.1肛宋。linux可以嘗試在命令行中 hostname -i 查看

localhost、127.0.0.1區(qū)別(資料來(lái)自:https://www.cnblogs.com/rendd/p/5928733.html)

localhost意為本地主機(jī)束世,指這臺(tái)計(jì)算機(jī)酝陈,是給回路網(wǎng)絡(luò)接口的標(biāo)準(zhǔn)主機(jī)名,對(duì)應(yīng)的IP地址為127.0.0.1毁涉,可訪問(wèn)本地服務(wù)器的web項(xiàng)目(http://localhost)沉帮。

1.localhost不通過(guò)網(wǎng)卡傳輸,不受防火墻和網(wǎng)卡限制贫堰;而127.0.0.1則依賴(lài)于網(wǎng)卡穆壕,會(huì)受到防火墻和網(wǎng)卡的限制。

2.localhost訪問(wèn)時(shí)帶著本機(jī)當(dāng)前用戶的權(quán)限其屏;而用IP訪問(wèn)時(shí)喇勋,是通過(guò)網(wǎng)絡(luò)再去訪問(wèn)主機(jī),涉及到網(wǎng)絡(luò)用戶權(quán)限偎行。

3.因?yàn)橛胠ocalhost訪問(wèn)時(shí)不會(huì)解析成IP川背,也就不會(huì)占用網(wǎng)絡(luò)資源,因此一般情況下用localhost更方便快捷蛤袒。

無(wú)法訪問(wèn)本地的localhost怎么辦呢熄云?:

打開(kāi)http://127.0.0.1/ 看是否能訪問(wèn)IIS(互聯(lián)網(wǎng)信息服務(wù))的默認(rèn)網(wǎng)頁(yè),能訪問(wèn)則說(shuō)明IIS已經(jīng)成功開(kāi)啟汗盘,否則檢查IIS是否在本機(jī)安裝且開(kāi)啟皱碘;

開(kāi)始--命令(cmd)--ping localhost,看返回的數(shù)據(jù)是否為127.0.0.1隐孽,如果是則說(shuō)明可以解析localhost癌椿,否則打開(kāi)C:\WINDOWS\system32\drivers\etc\host文件看里面有沒(méi)有127.0.0.1 localhost,添加好后再去訪問(wèn)localhost菱阵;

關(guān)閉電腦上的防火墻試試踢俄,或檢查電腦上是否有惡意插件;

實(shí)在不行將IIS卸載掉晴及,重新安裝一次都办。

電腦沒(méi)有iis:

這是我遇到最可惡的事情了。我的是win10ghost版虑稼,為了系統(tǒng)穩(wěn)定很多功能都精簡(jiǎn)掉了琳钉。如果和我一樣的朋友,快點(diǎn)重裝吧蛛倦,不要多想了歌懒。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市溯壶,隨后出現(xiàn)的幾起案子及皂,更是在濱河造成了極大的恐慌,老刑警劉巖且改,帶你破解...
    沈念sama閱讀 212,718評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件验烧,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡又跛,警方通過(guò)查閱死者的電腦和手機(jī)碍拆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)慨蓝,“玉大人感混,你說(shuō)我怎么就攤上這事【剩” “怎么了浩习?”我有些...
    開(kāi)封第一講書(shū)人閱讀 158,207評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)济丘。 經(jīng)常有香客問(wèn)我谱秽,道長(zhǎng),這世上最難降的妖魔是什么摹迷? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,755評(píng)論 1 284
  • 正文 為了忘掉前任疟赊,我火速辦了婚禮,結(jié)果婚禮上峡碉,老公的妹妹穿的比我還像新娘近哟。我一直安慰自己,他們只是感情好鲫寄,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布吉执。 她就那樣靜靜地躺著疯淫,像睡著了一般。 火紅的嫁衣襯著肌膚如雪戳玫。 梳的紋絲不亂的頭發(fā)上熙掺,一...
    開(kāi)封第一講書(shū)人閱讀 50,050評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音咕宿,去河邊找鬼币绩。 笑死,一個(gè)胖子當(dāng)著我的面吹牛府阀,可吹牛的內(nèi)容都是我干的缆镣。 我是一名探鬼主播,決...
    沈念sama閱讀 39,136評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼试浙,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼董瞻!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起川队,我...
    開(kāi)封第一講書(shū)人閱讀 37,882評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤力细,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后固额,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體眠蚂,經(jīng)...
    沈念sama閱讀 44,330評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評(píng)論 2 327
  • 正文 我和宋清朗相戀三年斗躏,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了逝慧。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,789評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡啄糙,死狀恐怖笛臣,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情隧饼,我是刑警寧澤沈堡,帶...
    沈念sama閱讀 34,477評(píng)論 4 333
  • 正文 年R本政府宣布,位于F島的核電站燕雁,受9級(jí)特大地震影響诞丽,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜拐格,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評(píng)論 3 317
  • 文/蒙蒙 一僧免、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧捏浊,春花似錦懂衩、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,864評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)牵敷。三九已至,卻和暖如春沛申,著一層夾襖步出監(jiān)牢的瞬間劣领,已是汗流浹背姐军。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,099評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工铁材, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人奕锌。 一個(gè)月前我還...
    沈念sama閱讀 46,598評(píng)論 2 362
  • 正文 我出身青樓著觉,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親惊暴。 傳聞我的和親對(duì)象是個(gè)殘疾皇子饼丘,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)辽话,斷路器肄鸽,智...
    卡卡羅2017閱讀 134,638評(píng)論 18 139
  • 1 Redis介紹1.1 什么是NoSql為了解決高并發(fā)典徘、高可擴(kuò)展、高可用益咬、大數(shù)據(jù)存儲(chǔ)問(wèn)題而產(chǎn)生的數(shù)據(jù)庫(kù)解決方...
    克魯?shù)吕?/span>閱讀 5,274評(píng)論 0 36
  • 從前慢逮诲,一生只夠愛(ài)一個(gè)人。 如果我說(shuō)幽告,我愿意梅鹦,我說(shuō)的這輩子跟定你不是玩笑。 你還會(huì)回頭嗎冗锁?我大概是一個(gè)不懂愛(ài)情的人...
    張小娟要努力閱讀 137評(píng)論 0 0
  • 在《窮查理寶典》中齐唆,人類(lèi)誤判心理學(xué)被放在最后第十一講,也就是最后一講冻河,這最后一講比之前的十內(nèi)容更多箍邮,也精彩得多。我...
    七零八零閱讀 464評(píng)論 0 1
  • 我什么也寫(xiě)不來(lái)。
    大大樹(shù)y閱讀 247評(píng)論 0 1