一、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服务相关推荐

  1. python实现第一个web_使用Python的Flask框架来搭建第一个Web应用程序

    1.初始化在这章,你将学到Flask应用程序的不同部分.同时,你将编写和运行你的第一个Flask web应用程序. 所有的Flask应用程序都必须创建一个 应用程序实例 .使用web服务器网关接口协议 ...

  2. python-jsonrpc框架实现JsonRPC协议的web服务

    一.JsonRPC介绍 json-rpc是基于json的跨语言远程调用协议,比xml-rpc.webservice等基于文本的协议传输数据格小:相对hessian.Java-rpc等二进制协议便于调试 ...

  3. 搭建python selenium 自动化测试框架_Selenium3与Python3实战 Web自动化测试框架(一)...

    一.环境搭建 1.selenium环境搭建 Client: pycharm python3.6 Driver: Chrome → ChromeDriver Firefox → FirefoxDrive ...

  4. 使用CXF框架发布SOAP协议的 WebService服务

    引言 Apache CXF = Celtix + XFire,开始叫 Apache CeltiXfire,后来更名为 Apache CXF 了,以下简称为 CXF.CXF 继承了 Celtix 和 X ...

  5. 访问Web服务器时 使用的协议是,使用SOAP协议访问Web服务

    SOAP是简单对象访问协议,它可看成是HTTP与XML的结合,其中XML部分是作为HTTP报文的实体主体部分. SOAP:简单对象访问协议,是一种轻量的.简单的.基于 XML 的协议,它被设计成在 W ...

  6. python api测试框架_python api 测试框架

    python常用框架 Django: Python Web应用开发框架 Django 应该是最出名的Python框架,GAE甚至Erlang都有框架受它影响.Django是走大而全的方向,它最出名的是 ...

  7. python做性能测试框架_python api 测试框架

    python常用框架 Django: Python Web应用开发框架 Django 应该是最出名的Python框架,GAE甚至Erlang都有框架受它影响.Django是走大而全的方向,它最出名的是 ...

  8. python中的框架是什么_python开发框架介绍

    一.Web框架 1.Django: 开源web开发框架,它鼓励快速开发,并遵循MVC设计,比较庞大,开发周期短.Django的文档最完善.市场占有率最高.招聘职位最多.全套的解决方案,Django象R ...

  9. jsonrpc php使用,php实现的一个简单jsonrpc框架实例

    php实现的一个简单jsonrpc框架实例json rpc 是一种以json为消息格式的远程调用服务,它是一套允许运行在不同操作系统.不同环境的程序实现基于Internet过程调用的规范和一系列的实现 ...

  10. fguillot json rpc_使用Hyperf框架搭建jsonrpc服务

    一.开发项目划分与搭建JSON RPC 是一种基于 JSON 格式的轻量级的 RPC 协议标准,易于使用和阅读.在 Hyperf 里由 hyperf/json-rpc 组件来实现,可自定义基于 HTT ...

最新文章

  1. MySQL中字段类型与合理的选择字段类型;int(11)最大长度是多少?varchar最大长度是多少?...
  2. 用 Go 开发 Go 编译器
  3. httping 2.2.1 发布,测试 HTTP 连接的工具
  4. restful-api-design-references
  5. Squid反向代理加速缓存+负载均衡实验架构
  6. Android之React native的介绍和入门指南
  7. 我的世界一个程序导致JAVA,Java地位无可动摇的12个原因
  8. Redux从设计到源码
  9. HTML5 API详解(6):getUserMedia实现拍照功能
  10. 用 Python 下载抖音无水印视频
  11. iphone短信尚未送达_潮讯:iPhone12重大升级;华为麒麟被炒价;抖音上线云游戏;骚扰短信要凉了;一加刘作虎回归OPPO...
  12. php排列组合1004无标题,PHP的排列组合有关问题
  13. MOSS关于Workflow
  14. ie和chrome浏览器下onproperty事件oninput onpropertychange的相应和相应属性的获取
  15. 三维点云数据处理软件供技术原理说明_三维点云数据获取方法及获取系统与流程...
  16. wsus服务器搭建自动更新
  17. Azure:云平台概述
  18. RRC协议学习—系统信息(SI)
  19. [推荐]微软推出MSE 2010 Beta中文版 穆穆-movno1
  20. 小笑话一则,但是却引人深思,谁能讲出它更深成的意义

热门文章

  1. 使用微软原生工具,反编译DLL并修改后再生成DLL
  2. 永中office linux卸载,永中office Linux版
  3. 使用前端技术实现静态图片局部流动效果
  4. 暴风激活后浏览器被锁定首页
  5. c语言程序实验报告范文,C语言实验报告范文
  6. IsPostBack深入探讨
  7. IIC原理超详细讲解---值得一看
  8. Java实现网页滑动验证与短信验证码案例精析
  9. TCP 和 UDP 有什么区别?
  10. 日本盗版漫画网站的罪与罚