日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > php >内容正文

php

php rpc连接Python,PHP语言之Python、PHP通过xml-rpc进行通信,xml-rpc中文的解决

發(fā)布時間:2024/4/18 php 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php rpc连接Python,PHP语言之Python、PHP通过xml-rpc进行通信,xml-rpc中文的解决 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

本文主要向大家介紹了PHP語言之Python、PHP通過xml-rpc進行通信,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對象,?三個參數(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

//盡管我們只有一個參數(shù),但仍然要轉(zhuǎn)換成數(shù)組的形式,因為xmlrpcmsg的第二個參數(shù)是一個參數(shù)表

$parameters=array($inputString);

//create?the?message?object

//創(chuàng)建XML-RPC報文,參數(shù)分別為?遠程方法名?和?參數(shù)表

$msg=new?xmlrpcmsg(''echoString'',?$parameters);

//$s->request_charset_encoding?=?''utf-8'';

//send?the?message,?get?the?response

//發(fā)送報文,返回值$rsp為一個xmlrpcresp對象,它包含以下三個方法:

//faultCode()?出錯代碼,如果成功將返回0

//faultString()?出錯信息

//value()?返回值,以xmlrpcval對象形式存在,PHP使用前需要進行解碼

$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

//然后我們來查看一下報文內(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)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。