欢迎您光临澳门贵宾厅vip官网官方网站!

Python、PHP通过xml

时间:2020-05-07 16:43

可以通过XML-RPC让不同平台的软件互相交互,我们假设用PHP做前台,Python作为服务后台,之间通过XML-RPC调用Python提供的服务。例子如下:

1、PHP客户端

?php//xmlrpc_client.php//XML-RPC客户端演示程序require(''xmlrpc.inc'');$xmlrpc_internalencoding=''UTF-8'';//创建client对象, 三个参数依次为 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//创建xmlrpcval对象,将我们的PHP变量编码为XML-RPC需要的XML形式#$inputString=new xmlrpcval(''world胜利'', ''string'');$inputString = php_xmlrpc_encode(''胜利world'');

//create an array of parameters//尽管我们只有一个参数,但仍然要转换成数组的形式,因为xmlrpcmsg的第二个参数是一个参数表$parameters=array($inputString);

//create the message object//创建XML-RPC报文,参数分别为 远程方法名 和 参数表$msg=new xmlrpcmsg(''echoString'', $parameters);//$s-request_charset_encoding = ''utf-8'';//send the message, get the response//发送报文,返回值$rsp为一个xmlrpcresp对象,它包含以下三个方法://faultCode() 出错代码,如果成功将返回0//faultString() 出错信息//value() 返回值,以xmlrpcval对象形式存在,PHP使用前需要进行解码$s-debug = true;$rsp=$s-send($msg);

//check for errorsif($rsp-faultcode()==0) { //decode the response to a PHP type //xmlrpc_decode()函数用于将xmlrpcval对象解码 $response=php_xmlrpc_decode($rsp-value());

//print results print ''pre''; var_dump($response); print ''/pre'';} else { //print errors print ''Error: ''.$rsp-faultcode().'', ''.$rsp-faultstring().''br'';}

//show messages//然后我们来查看一下报文内容$msg-createpayload();print ''REQUEST:xmp''.$msg-payload.''/xmp'';print ''RESPONSE:xmp''.$rsp-serialize().''/xmp'';

?

2、Python服务端

# -*- coding:GB2312 -*-import SimpleXMLRPCServer

#定义自己的CMS类class MyCMS: def getVersion(self

<

上一篇:用php解决一个数学题
下一篇:模式运行