本文主要向大家介绍了PHP语言之Python、PHP通过xml-rpc进行通信,xml-rpc中文的解决,通过具体的内容向大家展示,希望对大家学习php语言有所帮助。

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

1、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 errors

if($rsp->faultcode()==0) {

//decode the response to a PHP type

//xmlrpc_decode()函数用于将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

//然后我们来查看一下报文内容

$msg->createpayload();

print ''REQUEST:

''.$msg->payload.''

'';

print ''RESPONSE:

''.$rsp->serialize().''

'';

?>

2、Python服务端

# -*- coding:GB2312 -*-

import SimpleXMLRPCServer

#定义自己的CMS类

class MyCMS:

def getVersion(self

<

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言PHP频道!

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

  1. 为何人工智能首推Python 初学者怎么学Python

    为何人工智能首推Python?初学者怎么学Python?我们知道,近两年人工智能发展的速度呈指数型增长,各行各业都在自己的产品上面加个AI.人工智能时代即将来临,人工智能是大势所趋.越来越多的人意识到 ...

  2. python有哪些用途-python是什么?python的用途

    第一:python是什么?能干什么? 能用到Python 的地方非常多.无论是从入门级小白到专业级的大佬,数据挖掘.科学计算.图像处理.人工智能,Python 都可以胜任.或许是因为这种万能属性,现在 ...

  3. python是一种语言吗-Python是一种什么样的编程语言?解释?编译?汇编?机械?...

    作为一名技术专家和软件工程师,新技术和语言地持续探索必不可少,笔者将从现在带大家开启"Python"的世界.如果你刚好从事面向对象开发,那么不妨给Python一个机会.在循序渐进地 ...

  4. python程序设计语言是什么类型的语言-Python 是弱类型的语言 强类型和弱类型的语言区别...

    Python 是弱类型的语言 在强类型的编程语言中,定义变量时要指明变量的类型,而且赋值的数据也必须是相同类型的,C语言.C++.Java 是强类型语言的代表. 下面我们以 C++ 为例来演示强类型语 ...

  5. r语言和python-R语言 vs Python对比:数据分析哪家强?

    什么是R语言? R语言,一种自由软件编程语言与操作环境,主要用于统计分析.绘图.数据挖掘.R本来是由来自新西兰奥克兰大学的罗斯・伊哈卡和罗伯特・杰特曼开发(也因此称为R),现在由"R开发核心 ...

  6. python语言怎么用-学习如何使用 Python 程式语言

    阅读需知: 这是一份适合程式设计初学者,或是 Python 初学者的正体中文文件. 在阅读本手册前,您也可以先学习以下教程: 关于Python: Python, 是一种面向对象.解释型计算机程序设计语 ...

  7. python语言用途-Python在每个行业的用处

    Python 交互式的开发环境,因为Python是解释运行,这样也很大的节省编译时间.Python语法也很简单,又有几种高级数据结构,如list列表.元组等,通过使用这些数据结构起来特别简单.Pyth ...

  8. python epoll 并发_Python语言之python并发原理(阻塞、非阻塞、epoll)

    本文主要向大家介绍了Python语言之python并发原理(阻塞.非阻塞.epoll),通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. 在Linux系统中 01 阻塞服务端 特征: ...

  9. Java如何跨语言调用Python/R训练的模型

    在 如何使用sklearn进行在线实时预测(构建真实世界中可用的模型) 这篇文章中,我们使用 sklearn + flask 构建了一个实时预测的模型应用.无论是 sklearn 还是 flask,都 ...

最新文章

  1. 【红黑vip提权教程和饭客vip2010***教程全套】
  2. 三大框架开发时,spring配置文件出现异常
  3. 市直系统推荐市级以上表彰的_推荐市级以及以上教学方面表彰的细则
  4. 【算法分析与设计】数组循环移位问题
  5. openstack havana vlan安装成功
  6. Java—接口(工厂模式代理模式)
  7. Windows环境中jdk的下载、安装与配置
  8. LightOJ 1197 Help Hanzo 素数筛
  9. (51)FPGA面试题-Verilog中function与task之间的区别是什么?
  10. 基于JavaSpringMvc+mybatis实现学生信息管理系统
  11. 电子文档秒变手写文字:这个工具绝了!!
  12. 【参考文献】软骨细胞生长培养方法
  13. Mybatis注解实现DAO层
  14. vue 怎么销毁dom_Vue 中如何转移 Dom ?
  15. 台风怎么看内存颗粒_C9BKV颗粒,英睿达铂胜Max RGB 4000超频测试
  16. win10 你没有足够的权限执行此操作
  17. cv2.VideoWriter()
  18. *.brd 文件 是用什么软件打开的?
  19. webservice java接口远程调用
  20. DBM、GDBM与C语言跨平台代码研究

热门文章

  1. 第十二章 类和动态内存分配
  2. nginx websocket proxy
  3. phpmyadmin #1045 - Access denied for user 'root'@'localhost' (using password: NO)
  4. Android fastjson
  5. SpringBoot整合Mybatis完整详细版
  6. iframe的应用 实现无刷新用户注册
  7. iOS之如何实现isEqual的重写
  8. LeetCode Algorithm 876. 链表的中间结点
  9. Hi Azure. 从零开始打造一个语音机器人,跟你的电脑聊聊天。
  10. 2013\National _C_C++_B\4.高僧斗法