电脑安全

您当前的位置:主页 > 电脑安全 >

Python、PHP通过xml-rpc进行通信,xml-rpc中文的解决

来源:[db:来源]标题:   报文    编辑:电脑技术全能网 时间:2019-09-18 16:50

原标题:Python、PHP通过xml-rpc进行通信,xml-rpc中文的解决
   能够经过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<