php rpc连接Python,PHP语言之Python、PHP通过xml-rpc进行通信,xml-rpc中文的解决
本文主要向大家介紹了PHP語言之Python、PHP通過xml-rpc進(jìn)行通信,xml-rpc中文的解決,通過具體的內(nèi)容向大家展示,希望對大家學(xué)習(xí)php語言有所幫助。
可以通過XML-RPC讓不同平臺的軟件互相交互,我們假設(shè)用PHP做前臺(客戶端),Python作為服務(wù)后臺,之間通過XML-RPC調(diào)用Python提供的服務(wù)。例子如下:
1、PHP客戶端
//xmlrpc_client.php
//XML-RPC客戶端演示程序
require(''xmlrpc.inc'');
$xmlrpc_internalencoding=''UTF-8'';
//創(chuàng)建client對象,?三個(gè)參數(shù)依次為?path,?hostname,?port
#$s=new?xmlrpc_client(''/testxml/xmlrpc_server.php'',?''localhost'',?80);
$s=new?xmlrpc_client(''/'',?''localhost'',?8888);
//create?xmlrpcval?object,?which?allows?the?encoding?of?our?variable
//創(chuàng)建xmlrpcval對象,將我們的PHP變量編碼為XML-RPC需要的XML形式
#$inputString=new?xmlrpcval(''world勝利'',?''string'');
$inputString?=?php_xmlrpc_encode(''勝利world'');
//create?an?array?of?parameters
//盡管我們只有一個(gè)參數(shù),但仍然要轉(zhuǎn)換成數(shù)組的形式,因?yàn)閤mlrpcmsg的第二個(gè)參數(shù)是一個(gè)參數(shù)表
$parameters=array($inputString);
//create?the?message?object
//創(chuàng)建XML-RPC報(bào)文,參數(shù)分別為?遠(yuǎn)程方法名?和?參數(shù)表
$msg=new?xmlrpcmsg(''echoString'',?$parameters);
//$s->request_charset_encoding?=?''utf-8'';
//send?the?message,?get?the?response
//發(fā)送報(bào)文,返回值$rsp為一個(gè)xmlrpcresp對象,它包含以下三個(gè)方法:
//faultCode()?出錯(cuò)代碼,如果成功將返回0
//faultString()?出錯(cuò)信息
//value()?返回值,以xmlrpcval對象形式存在,PHP使用前需要進(jìn)行解碼
$s->debug?=?true;
$rsp=$s->send($msg);
//check?for?errors
if($rsp->faultcode()==0)?{
//decode?the?response?to?a?PHP?type
//xmlrpc_decode()函數(shù)用于將xmlrpcval對象解碼
$response=php_xmlrpc_decode($rsp->value());
//print?results
print?''
'';
var_dump($response);
print?''
'';
}?else?{
//print?errors
print?''Error:?''.$rsp->faultcode().'',?''.$rsp->faultstring().''
'';
}
//show?messages
//然后我們來查看一下報(bào)文內(nèi)容
$msg->createpayload();
print?''REQUEST:
''.$msg->payload.''
'';
print?''RESPONSE:
''.$rsp->serialize().''
'';
?>
2、Python服務(wù)端
#?-*-?coding:GB2312?-*-
import?SimpleXMLRPCServer
#定義自己的CMS類
class?MyCMS:
def?getVersion(self
<
本文由職坐標(biāo)整理并發(fā)布,希望對同學(xué)們有所幫助。了解更多詳情請關(guān)注職坐標(biāo)編程語言PHP頻道!
總結(jié)
以上是生活随笔為你收集整理的php rpc连接Python,PHP语言之Python、PHP通过xml-rpc进行通信,xml-rpc中文的解决的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java中ftp删除文件,Java 实现
- 下一篇: php如何检测图片背景是白色,javas