php rpc连接Python,PHP语言之Python、PHP通过xml-rpc进行通信,xml-rpc中文的解决
本文主要向大家介绍了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中文的解决相关推荐
- 为何人工智能首推Python 初学者怎么学Python
为何人工智能首推Python?初学者怎么学Python?我们知道,近两年人工智能发展的速度呈指数型增长,各行各业都在自己的产品上面加个AI.人工智能时代即将来临,人工智能是大势所趋.越来越多的人意识到 ...
- python有哪些用途-python是什么?python的用途
第一:python是什么?能干什么? 能用到Python 的地方非常多.无论是从入门级小白到专业级的大佬,数据挖掘.科学计算.图像处理.人工智能,Python 都可以胜任.或许是因为这种万能属性,现在 ...
- python是一种语言吗-Python是一种什么样的编程语言?解释?编译?汇编?机械?...
作为一名技术专家和软件工程师,新技术和语言地持续探索必不可少,笔者将从现在带大家开启"Python"的世界.如果你刚好从事面向对象开发,那么不妨给Python一个机会.在循序渐进地 ...
- python程序设计语言是什么类型的语言-Python 是弱类型的语言 强类型和弱类型的语言区别...
Python 是弱类型的语言 在强类型的编程语言中,定义变量时要指明变量的类型,而且赋值的数据也必须是相同类型的,C语言.C++.Java 是强类型语言的代表. 下面我们以 C++ 为例来演示强类型语 ...
- r语言和python-R语言 vs Python对比:数据分析哪家强?
什么是R语言? R语言,一种自由软件编程语言与操作环境,主要用于统计分析.绘图.数据挖掘.R本来是由来自新西兰奥克兰大学的罗斯・伊哈卡和罗伯特・杰特曼开发(也因此称为R),现在由"R开发核心 ...
- python语言怎么用-学习如何使用 Python 程式语言
阅读需知: 这是一份适合程式设计初学者,或是 Python 初学者的正体中文文件. 在阅读本手册前,您也可以先学习以下教程: 关于Python: Python, 是一种面向对象.解释型计算机程序设计语 ...
- python语言用途-Python在每个行业的用处
Python 交互式的开发环境,因为Python是解释运行,这样也很大的节省编译时间.Python语法也很简单,又有几种高级数据结构,如list列表.元组等,通过使用这些数据结构起来特别简单.Pyth ...
- python epoll 并发_Python语言之python并发原理(阻塞、非阻塞、epoll)
本文主要向大家介绍了Python语言之python并发原理(阻塞.非阻塞.epoll),通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. 在Linux系统中 01 阻塞服务端 特征: ...
- Java如何跨语言调用Python/R训练的模型
在 如何使用sklearn进行在线实时预测(构建真实世界中可用的模型) 这篇文章中,我们使用 sklearn + flask 构建了一个实时预测的模型应用.无论是 sklearn 还是 flask,都 ...
最新文章
- 【红黑vip提权教程和饭客vip2010***教程全套】
- 三大框架开发时,spring配置文件出现异常
- 市直系统推荐市级以上表彰的_推荐市级以及以上教学方面表彰的细则
- 【算法分析与设计】数组循环移位问题
- openstack havana vlan安装成功
- Java—接口(工厂模式代理模式)
- Windows环境中jdk的下载、安装与配置
- LightOJ 1197 Help Hanzo 素数筛
- (51)FPGA面试题-Verilog中function与task之间的区别是什么?
- 基于JavaSpringMvc+mybatis实现学生信息管理系统
- 电子文档秒变手写文字:这个工具绝了!!
- 【参考文献】软骨细胞生长培养方法
- Mybatis注解实现DAO层
- vue 怎么销毁dom_Vue 中如何转移 Dom ?
- 台风怎么看内存颗粒_C9BKV颗粒,英睿达铂胜Max RGB 4000超频测试
- win10 你没有足够的权限执行此操作
- cv2.VideoWriter()
- *.brd 文件 是用什么软件打开的?
- webservice java接口远程调用
- DBM、GDBM与C语言跨平台代码研究
热门文章
- 第十二章 类和动态内存分配
- nginx websocket proxy
- phpmyadmin #1045 - Access denied for user 'root'@'localhost' (using password: NO)
- Android fastjson
- SpringBoot整合Mybatis完整详细版
- iframe的应用 实现无刷新用户注册
- iOS之如何实现isEqual的重写
- LeetCode Algorithm 876. 链表的中间结点
- Hi Azure. 从零开始打造一个语音机器人,跟你的电脑聊聊天。
- 2013\National _C_C++_B\4.高僧斗法