Basic JSON-RPC implementation for your Flask-powered sites.
Some reasons you might want to use:
There is a live example API for testing purposes, available here.
Below: Screenshot from the browsable API
$ pip install Flask-JSONRPC
or
$ git clone git://github.com/cenobites/flask-jsonrpc.git
$ cd flask-jsonrpc
$ python setup.py install
Create your application and initialize the Flask-JSONRPC.
from flask import Flask
from flask_jsonrpc import JSONRPC
app = Flask('application')
jsonrpc = JSONRPC(app, '/api', enable_web_browsable_api=True)
Write JSON-RPC methods.
@jsonrpc.method('App.index')
def index() -> str:
return 'Welcome to Flask JSON-RPC'
All code of example run.py.
$ python run.py
* Running on http://0.0.0.0:5000/
$ curl -i -X POST \
-H "Content-Type: application/json; indent=4" \
-d '{
"jsonrpc": "2.0",
"method": "App.index",
"params": {},
"id": "1"
}' http://localhost:5000/api
HTTP/1.0 200 OK
Content-Type: application/json
Content-Length: 77
Server: Werkzeug/0.8.3 Python/2.7.3
Date: Fri, 14 Dec 2012 19:26:56 GMT
{
"jsonrpc": "2.0",
"id": "1",
"result": "Welcome to Flask JSON-RPC"
}
Flask+flask-socketio+jsonrpc组合配置避坑 Flask+flask-socketIO+jsonrpc这种组合能被我套出来也是离谱,事先声明:出现这种组合是因为本人之前对flask框架的使用仅限于flask+jsonrpc,所以导致这种情况出现,其实flask还可以加Flask-Restful实现,至于如何使用全凭读者根据业务需求自行裁决。 我之随意写这篇文章是有原因的,就
1.python 实现 from socketserver import ThreadingMixIn from xmlrpc.server import SimpleXMLRPCServer from xmlrpc.server import SimpleXMLRPCRequestHandler class ThreadXMLRPCServer(ThreadingMixIn, SimpleX
插件的安装: pip install Flask-JSONRPC 使用jsonrpc定义视图函数[不带有参数的视图函数] from flask import Flask from flask_jsonrpc import JSONRPC app = Flask("application") jsonrpc = JSONRPC(app, "/api", enable_web_browsable_a
Flask+flask-socketIO+jsonrpc这种组合能被我套出来也是离谱,事先声明:出现这种组合是因为本人之前对flask框架的使用仅限于flask+jsonrpc,所以导致这种情况出现,其实flask还可以加Flask-Restful实现,至于如何使用全凭读者根据业务需求自行裁决。 我之所以写这篇文章是有原因的,就是部署的时候由于配置文件会给自己埋下许多坑,百度查不到具体的解决方法,
Python-JRPC A Python remote procedure call framework that uses JSON RPC v2.0 Install using pip: pip install python-jrpc Socket Based Usage Python-JRPC allows programmers to create powerful client/serv
修复jsonrpc修改源码以后celery无法运行的问题 重新修改源代码如下: # 源码文件中, /flask_jwt_extended/view_decorators.py 94行左右 from jwt.exceptions import ExpiredSignatureError,InvalidTokenError from flask_jwt_extended.exceptions impo
用户认证中心通过session的设置和获取判断用户是否已经登录. 此处使用的是flask中的before_request的钩子函数进行简化,并增加一个装饰器为每一需要认证的功能模块进行装饰: 导入所有需要的python包 from flask import Flask,g,session,request,make_response 步骤1:创建一个app对象 app = Flask(__name
问题内容: 在官方的快速入门中,建议在使用单个 模块 时使用: 2. …如果您使用的是单个模块(如本例所示),则应使用,因为取决于它是作为应用程序启动还是作为模块导入,其名称将有所不同(与实际导入名称不同)。… 但是,在他们的API文档中,当我的应用程序为 软件包 时,建议进行硬编码: 因此,您在此处提供的内容很重要。如果使用单个模块,则始终为正确的值。但是,如果您使用的是包,通常建议在其中硬编码
在前面,我们介绍了 REST Web 服务,并使用 Flask 提供服务。这里,我们使用第三方库 Flask-RESTful,它使得在 Flask 中提供 REST 服务变得更加简单。 安装 使用 pip 安装: $ pip install flask-restful 使用 下面我们主要使用官方文档的例子进行说明。 Hello World 我们先来看一个简单的例子。 # -*- coding: u
Bootstrap 是 Twitter 开源的一个 CSS/HTML 框架,它让 Web 开发变得更加迅速,简单。要想在我们的 Flask 应用中使用 Boostrap,有两种方案可供选择: 第 1 种,在我们的 Jinja 模板中直接引入 Bootstrap 层叠样式表 (CSS) 和 JavaScript 文件,比如 bootstrap.min.css,bootstrap.min.js; 第
在 Web 应用中,我们经常需要保护我们的 api,以避免非法访问。比如,只允许登录成功的用户发表评论等。Flask-HTTPAuth 扩展可以很好地对 HTTP 的请求进行认证,不依赖于 Cookie 和 Session。本文主要介绍两种认证的方式:基于密码和基于令牌 (token)。 安装 使用 pip 安装: $ pip install Flask-HTTPAuth 基于密码的认证 为了简化
假设你的 Web 服务对于某些请求比较耗时,而该请求的返回结果在较短的时间内(比如 5 分钟内)都是足够有效的,这时你能想到什么方法去改善这种状况呢?缓存?对,至少这是一种提高性能的最简单的方法。 Flask 本身不提供缓存功能,但是作为 Flask 核心的 Werkzeug 框架则提供了一个简单的缓存对象 SimpleCache,它将缓存项存放在 Python 解释器的内存中。使用 Simple
MongoDB 是一个文档型数据库,是 NoSQL (not only SQL) 的一种,具有灵活、易扩展等诸多优点,受到许多开发者的青睐。MongoEngine 是一个用来操作 MongoDB 的 ORM 框架,如果你不知道什么是 ORM,可以参考 Flask-SQLAlchemy 一节。在 Flask 中,我们可以直接使用 MongoEngine,也可使用 Flask-MongoEngine