成人小视频在线_欧美xxxav_国产亚洲精AA在线观看SEE_日韩在线免费播放_69日影院_92精品国产自产在线观看481页

18842388900

網站建設 APP開發 小程序

Article/文章

記錄成長點滴 分享您我感悟

您當前位置>首頁 > 知識 > 網站建設

簡單介紹在PHP中使用XML-RPC構建Web服務

目前有兩種用于Web服務通信的協議標準,一種是XML-RPC,另一種是SOAP。 XML-RPC相對簡單,更早發生,SOAP更復雜,主要是當它需要穩定,健壯,安全和復雜時。

XML中的XML-RPC和SOAP協議的集成集中在xmlrpc擴展中。此外,在PHP PEAR中,無論是PHP 4還是PHP 5,默認情況下都集成了XML-RPC擴展,并且此擴展與xmlrpc擴展無關。它可以獨立實現XML-RPC協議交互。如果沒有xmlrpc擴展名,建議使用。使用PEAR: XML-RPC擴展。

我們主要使用XML-RPC來描述Web Service的交互過程。部分內容來自PHP手冊。有關詳細信息,請參閱手冊。

安裝xmlrpc擴展

如果您的系統上沒有安裝phprpc的php擴展,請正確安裝。

在Windows平臺上,首先將PHP安裝目錄中的擴展名php_xmlrpc.dll放到C: \ Windows或C: \ Winnt目錄中,(C: \ php \ extensions目錄中的PHP4擴展名,C: \ php \ ext中的PHP5擴展名)目錄),同時在C: \ Windows \ php.ini或C: \ Winnt \ php.ini中,刪除分號';'在擴展名=php_xmlrpc.dll之前,然后重新啟動Web服務器并查看phpinfo()沒有XML-RPC項目來確定是否已正確安裝xmlrpc擴展。

在Unix/Linux平臺上,如果您沒有安裝xmlrpc擴展,請重新編譯PHP。在configure中,請添加--with-xmlrpc選項,然后檢查phpinfo()以查看是否正確安裝了xmlrpc。

(注意:以下操作基于xmlrpc擴展和正常安裝的前提,請務必正確安裝。)

XML-RPC工作原理

XML-RPC大致是使用XML進行通信的整個過程。首先,構造一個RPC服務器以使用從RPC客戶端傳遞的XML封裝請求,并通過XML將處理結果返回給RPC客戶端。客戶端分析XML以獲取所需的數據。

XML-RPC的服務器端必須具有客戶端調用的現成功能,客戶端提交的請求中的功能和方法必須與服務器保持一致,否則將無法獲得所需的結果。

下面我將執行一個簡單的代碼來描述整個過程。

XML-RPC實踐

服務器使用xmlrpc_server_create函數生成服務器,然后注冊需要公開的RPC調用接口,從RPC客戶端POST接受XML數據,然后對其進行處理,并通過XML將處理結果顯示給客戶端。

代碼如下:rpc_server.php

/***功能:提供給RPC客戶端的功能。 *參數:* $ method客戶端需要調用的函數* $ params客戶端需要調用的函數的參數數組*返回:返回指定調用的結果*/function rpc_server_func($ method,$ params) {$ parameter=$ params [0]; if($ parameter=='get'){$ return=''此數據通過get方法''; } else {$ return=''未指定Method或params'';} return $ return; }

//生成XML-RPC服務器端$ xmlrpc_server=xmlrpc_server_create();

//注冊服務器端方法rpc_server,實際點是rpc_server_func函數xmlrpc_server_register_method($ xmlrpc_server,'rpc_server','rpc_server_func');

//接受來自客戶端POST $ request=$ HTTP_RAW_POST_DATA;

的XML數據

//執行XML請求到客戶端獲取執行結果$ xmlrpc_response=xmlrpc_server_call_method($ xmlrpc_server,$ request,null);

//輸出函數頭處理的結果XML(''Content-Type: text/xml''); echo $ xmlrpc_response;

//銷毀XML-RPC服務器端資源xmlrpc_server_destroy($ xmlrpc_server);>

構造服務器端,然后構造我們的RPC客戶端。客戶端通過Socket訪問XML-RPC服務器的80端口,然后將需要調用的RPC接口封裝到XML中,通過POST請求將其提交給RPC服務器,最后獲取返回的結果。服務器。

代碼如下:rpc_client.php

/***功能:為客戶端提供連接XML-RPC服務器的功能。 *參數:* $ host連接到* $ port的主機連接到主機端口* $ rpc_server XML-RPC服務器端文件* $ request封裝的XML請求信息*返回:連接成功后,返回服務器返回的XML信息。無法返回false */function rpc_client_call($ host,$ port,$ rpc_server,$ request){

//打開指定的服務器端$ fp=fsockopen($ host,$ port);

//構造需要通信的XML-RPC服務器端查詢POST請求信息$ query='POST $ rpc_server HTTP/1.0 \ nUser_Agent: XML-RPC Client \ nHost:'。$ host。'\ nContent-Type: text/xml \ nContent-Length:'.strlen($ request)。'\ n \ n'。$ request。'\ n';

//將構造的HTTP協議發送到服務器,無法返回falseif(!fputs($ fp,$ query,strlen($ query))){$ errstr='Write error'; return false;} //獲取slave服務器終端返回的所有信息,包括HTTP頭和XML信息$ contents=''''; while(!feof($ fp)){$ contents。=fgets($ fp);}

//關閉連接資源fclose($ fp)后返回獲取的內容;返回$ contents;}

//構造連接到RPC服務器的信息$ host=''localhost''; $ port=80; $ rpc_server=''/?heiyeluren/rrpc_server.php'';

//將要發送的XML請求編碼為XML,要調用的方法是rpc_server,參數是get $ request=xmlrpc_encode_request(''rpc_server'',''get'');

//調用rpc_client_call函數將所有請求發送到XML-RPC服務器并獲取信息$ response=rpc_client_call($ host,$ port,$ rpc_server,$ request);

//分析從服務器端返回的XML,刪除HTTP頭信息,并將XML轉換為PHP可識別的字符串$ split=''''; $ xml=explode($ split,$ response); $ xml=$拆分。 array_pop($ xml); $ response=xmlrpc_decode($ xml);

//輸出從RPC服務器print_r($ response);

獲得的信息

?>

上面我們的例子大致是提交一個名為rpc_server的方法,參數是get,然后得到服務器端返回,服務器返回的XML數據是:<xml>這個數據由get方法

然后我們可以通過xmlrpc_decode函數將這個XML編碼為PHP字符串,我們可以隨意處理它,并完成整個Web服務交互。

網站建設,小程序開發,小程序制作,微信小程序開發,公眾號開發,微信公眾號開發,網頁設計,網站優化,網站排名,網站設計,微信小程序設計,小程序定制,微信小程序定制

相關案例查看更多

主站蜘蛛池模板: 在线超碰| 爱啪导航一精品导航站 | 黑人巨摘花第一次出血 | 伊人色综| 国产视频精选在线 | 日韩中文字幕久久久97都市激情 | 国产猛男猛女超爽免费视频 | 久久免费看少妇高潮a片特黄 | 可以免费看av | 国精品**一区二区三区在线蜜桃 | 波多野结衣成人在线 | 在线免费观看黄色大片 | 亚洲狠狠婷婷综合久久蜜桃 | 九九九免费观看视频 | 粉嫩一区二区三区性色av | 精品一区二区久久久久黄大片 | 波多野结衣中文AV无码专区 | 国产亚洲综合av | 无码熟妇αⅴ人妻又粗又大 | 久久国产视屏 | 内射无码专区久久亚洲 | 久久草草亚洲蜜桃臀 | 久久久久久国产一区二区三区 | 国产日本一区二区 | 久久91超碰人人澡人人爽 | 一区二区狠狠色丁香久久婷婷 | 亚洲欧美激情小说另类 | 日本线在线 | 中文字幕一区二区三区乱码图片 | 公和我做好爽添在厨房 | 国产情侣自拍小视频 | 亚洲精品乱码久久久久久金桔影视 | 超碰个人在线观看 | 粗壮挺进人妻水蜜桃成熟 | 这里只有精品18 | 成在线人永久免费视频播放 | 香蕉久久福利院 | 一级成人黄色片 | 99热在线观看精品 | 日本伦理一区二区三区 | 国产精品久久久久一级毛片 |