python jsonrpc_python-jsonrpc框架实现JsonRPC协议的web服务
一、JsonRPC介绍
json-rpc是基于json的跨语言远程调用协议,比xml-rpc、webservice等基于文本的协议传输数据格小;相对hessian、Java-rpc等二进制协议便于调试、实现、扩展,是非常优秀的一种远程调用协议。
二、JsonRPC简单说明
1、调用的Json格式
向服务端传输数据格式如下:
{ "method": "方法名", "params": [“参数数组”], "id": 方法ID}
说明:
第一个参数: 是方法的名值对
第二个参数: 是参数数组
第三个参数: 是方法ID(可以随意填)
举例: { "method": "doSomething", "params": [], "id": 1234}
doSomething 是远程对象的方法, [] 表示参数为空
2、输出的Json格式
{
"jsonrpc": "2.0",
"id": "1234",
"result": null
}
三、python-jsonrpc框架
1、安装
pip install python-jsonrpc
2、例子
http服务端:
#!/usr/bin/env python
# coding: utf-8
import pyjsonrpc
class RequestHandler(pyjsonrpc.HttpRequestHandler):
@pyjsonrpc.rpcmethod
def add(self, a, b):
"""Test method"""
return a + b
# Threading HTTP-Server
http_server = pyjsonrpc.ThreadingHttpServer(
server_address = ('localhost', 8080),
RequestHandlerClass = RequestHandler
)
print "Starting HTTP server ..."
print "URL: http://localhost:8080"
http_server.serve_forever()
http客户端:
#!/usr/bin/env python
# coding: utf-8
import pyjsonrpc
http_client = pyjsonrpc.HttpClient(
url = "http://example.com/jsonrpc",
username = "Username",
password = "Password"
)
print http_client.call("add", 1, 2)
# Result: 3
# It is also possible to use the *method* name as *attribute* name.
print http_client.add(1, 2)
# Result: 3
# Notifications send messages to the server, without response.
http_client.notify("add", 3, 4)
python jsonrpc_python-jsonrpc框架实现JsonRPC协议的web服务相关推荐
- python实现第一个web_使用Python的Flask框架来搭建第一个Web应用程序
1.初始化在这章,你将学到Flask应用程序的不同部分.同时,你将编写和运行你的第一个Flask web应用程序. 所有的Flask应用程序都必须创建一个 应用程序实例 .使用web服务器网关接口协议 ...
- python-jsonrpc框架实现JsonRPC协议的web服务
一.JsonRPC介绍 json-rpc是基于json的跨语言远程调用协议,比xml-rpc.webservice等基于文本的协议传输数据格小:相对hessian.Java-rpc等二进制协议便于调试 ...
- 搭建python selenium 自动化测试框架_Selenium3与Python3实战 Web自动化测试框架(一)...
一.环境搭建 1.selenium环境搭建 Client: pycharm python3.6 Driver: Chrome → ChromeDriver Firefox → FirefoxDrive ...
- 使用CXF框架发布SOAP协议的 WebService服务
引言 Apache CXF = Celtix + XFire,开始叫 Apache CeltiXfire,后来更名为 Apache CXF 了,以下简称为 CXF.CXF 继承了 Celtix 和 X ...
- 访问Web服务器时 使用的协议是,使用SOAP协议访问Web服务
SOAP是简单对象访问协议,它可看成是HTTP与XML的结合,其中XML部分是作为HTTP报文的实体主体部分. SOAP:简单对象访问协议,是一种轻量的.简单的.基于 XML 的协议,它被设计成在 W ...
- python api测试框架_python api 测试框架
python常用框架 Django: Python Web应用开发框架 Django 应该是最出名的Python框架,GAE甚至Erlang都有框架受它影响.Django是走大而全的方向,它最出名的是 ...
- python做性能测试框架_python api 测试框架
python常用框架 Django: Python Web应用开发框架 Django 应该是最出名的Python框架,GAE甚至Erlang都有框架受它影响.Django是走大而全的方向,它最出名的是 ...
- python中的框架是什么_python开发框架介绍
一.Web框架 1.Django: 开源web开发框架,它鼓励快速开发,并遵循MVC设计,比较庞大,开发周期短.Django的文档最完善.市场占有率最高.招聘职位最多.全套的解决方案,Django象R ...
- jsonrpc php使用,php实现的一个简单jsonrpc框架实例
php实现的一个简单jsonrpc框架实例json rpc 是一种以json为消息格式的远程调用服务,它是一套允许运行在不同操作系统.不同环境的程序实现基于Internet过程调用的规范和一系列的实现 ...
- fguillot json rpc_使用Hyperf框架搭建jsonrpc服务
一.开发项目划分与搭建JSON RPC 是一种基于 JSON 格式的轻量级的 RPC 协议标准,易于使用和阅读.在 Hyperf 里由 hyperf/json-rpc 组件来实现,可自定义基于 HTT ...
最新文章
- MySQL中字段类型与合理的选择字段类型;int(11)最大长度是多少?varchar最大长度是多少?...
- 用 Go 开发 Go 编译器
- httping 2.2.1 发布,测试 HTTP 连接的工具
- restful-api-design-references
- Squid反向代理加速缓存+负载均衡实验架构
- Android之React native的介绍和入门指南
- 我的世界一个程序导致JAVA,Java地位无可动摇的12个原因
- Redux从设计到源码
- HTML5 API详解(6):getUserMedia实现拍照功能
- 用 Python 下载抖音无水印视频
- iphone短信尚未送达_潮讯:iPhone12重大升级;华为麒麟被炒价;抖音上线云游戏;骚扰短信要凉了;一加刘作虎回归OPPO...
- php排列组合1004无标题,PHP的排列组合有关问题
- MOSS关于Workflow
- ie和chrome浏览器下onproperty事件oninput onpropertychange的相应和相应属性的获取
- 三维点云数据处理软件供技术原理说明_三维点云数据获取方法及获取系统与流程...
- wsus服务器搭建自动更新
- Azure:云平台概述
- RRC协议学习—系统信息(SI)
- [推荐]微软推出MSE 2010 Beta中文版 穆穆-movno1
- 小笑话一则,但是却引人深思,谁能讲出它更深成的意义