Python实现Restful API的例子


Posted in Python onAugust 31, 2019

最近写了一个网络验证登录的爬虫,需要发布为Rest服务,然后发现Flask是一个很好的Web框架,使用Python语言实现。

1. 安装flask

pip install flask

2.编写简单的HelloWorld

app.py

from flask import Flask

app = Flask(__name__)

@app.route('/')
def index():
  return "Hello, World!"

if __name__ == '__main__':
  app.run(debug=True)

3.实现登录验证Rest服务

login.py 是用爬虫写好的登录模块类

from flask import Flask
from flask import request

from login import Context
from login import NormalLogin

app = Flask(__name__)

@app.route('/cm/api/v1.0/verifyuser', methods=['POST'])
def verifyUser():
  error = None
  if request.method == 'POST':
    login = NormalLogin()
    ctx = Context(login)
    page = ctx.login(request.form['studentId'],
        request.form['password'])
    if page == "success":
      return "success, 验证成功"

  return "failed, 验证失败"

if __name__ == '__main__':
  app.run(debug=True)

启动web服务,python app.py

在浏览器输入http://127.0.0.1:5000/即可看到Hello, World!

另外对于POST方法的测试,用浏览器就不太方便了,可以在Linux中安装curl工具来进行测试,或者使用一些专门的GUI程序,比如Postman

curl -d "studentId=123456&password=123456" "http://127.0.0.1:5000/cm/api/v1.0/verifyuser"

以上这篇Python实现Restful API的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python两种遍历字典(dict)的方法比较
May 29 Python
如何搜索查找并解决Django相关的问题
Jun 30 Python
Python爬取三国演义的实现方法
Sep 12 Python
Python编程把二叉树打印成多行代码
Jan 04 Python
Python OpenCV处理图像之图像像素点操作
Jul 10 Python
通过pykafka接收Kafka消息队列的方法
Dec 27 Python
python 画二维、三维点之间的线段实现方法
Jul 07 Python
pytorch实现mnist分类的示例讲解
Jan 10 Python
keras中的backend.clip用法
May 22 Python
Python如何读写字节数据
Aug 05 Python
Django框架安装及项目创建过程解析
Sep 14 Python
细说NumPy数组的四种乘法的使用
Dec 18 Python
python递归下载文件夹下所有文件
Aug 31 #Python
python或C++读取指定文件夹下的所有图片
Aug 31 #Python
解决Django删除migrations文件夹中的文件后出现的异常问题
Aug 31 #Python
Django项目后台不挂断运行的方法
Aug 31 #Python
python遍历文件目录、批量处理同类文件
Aug 31 #Python
解决Pycharm 包已经下载,但是运行代码提示找不到模块的问题
Aug 31 #Python
python批量处理文件或文件夹
Jul 28 #Python
You might like
简单采集了yahoo的一些数据
2007/02/14 PHP
PHP伪静态页面函数附使用方法
2008/06/20 PHP
PHPMailer邮件发送的实现代码
2013/05/04 PHP
在PHP程序中使用Rust扩展的方法
2015/07/03 PHP
PHP中十六进制颜色与RGB颜色值互转的方法
2019/03/18 PHP
10个新的最有前途的JavaScript框架
2009/03/12 Javascript
一个JS函数搞定网页标题(title)闪动效果
2014/05/13 Javascript
jQuery实现输入框邮箱内容自动补全与上下翻动显示效果【附demo源码下载】
2016/09/20 Javascript
微信小程序 登陆流程详细介绍
2017/01/17 Javascript
babel基本使用详解
2017/02/17 Javascript
javascript简单写的判断电话号码实例
2017/05/24 Javascript
JavaScript脚本语言是什么_动力节点Java学院整理
2017/06/26 Javascript
在vue中使用Echarts画曲线图的示例
2020/10/03 Javascript
记录Django开发心得
2014/07/16 Python
Python实现二叉树结构与进行二叉树遍历的方法详解
2016/05/24 Python
Python设计模式之MVC模式简单示例
2018/01/10 Python
Python数据结构之双向链表的定义与使用方法示例
2018/01/16 Python
Python中 map()函数的用法详解
2018/07/10 Python
PyCharm 设置SciView工具窗口的方法
2019/01/15 Python
PyCharm下载和安装详细步骤
2019/12/17 Python
TensorFlow命名空间和TensorBoard图节点实例
2020/01/23 Python
python属于软件吗
2020/06/18 Python
超酷炫 CSS3垂直手风琴菜单
2016/06/28 HTML / CSS
利用 Canvas实现绘画一个未闭合的带进度条的圆环
2019/07/26 HTML / CSS
Myprotein蛋白粉美国官网:欧洲畅销运动营养品牌
2016/11/15 全球购物
Skyscanner阿联酋:全球领先的旅游搜索平台
2017/11/25 全球购物
全球领先的美容用品专卖店:Beauty Plus Salon
2018/09/04 全球购物
德国网上超市:myTime.de
2019/08/26 全球购物
新学期开学标语
2014/06/30 职场文书
加强作风建设演讲稿
2014/10/24 职场文书
2014年商场工作总结
2014/11/22 职场文书
赔偿协议书
2015/01/27 职场文书
小学音乐课教学反思
2016/02/18 职场文书
简单介绍 http请求响应参数、无连接无状态、MIME、状态码、端口、telnet、curl
2021/03/31 HTML / CSS
nginx处理http请求实现过程解析
2021/03/31 Servers
你真的了解PHP中的引用符号(&)吗
2021/05/12 PHP