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 相关文章推荐
50行代码实现贪吃蛇(具体思路及代码)
Apr 27 Python
python基础教程之类class定义使用方法
Feb 20 Python
python 查找字符串是否存在实例详解
Jan 20 Python
python定时关机小脚本
Jun 20 Python
Pytorch 神经网络—自定义数据集上实现教程
Jan 07 Python
pandas数据拼接的实现示例
Apr 16 Python
Django ORM 查询表中某列字段值的方法
Apr 30 Python
Win 10下Anaconda虚拟环境的教程
May 18 Python
使用pygame实现垃圾分类小游戏功能(已获校级二等奖)
Jul 23 Python
Pycharm中如何关掉python console
Oct 27 Python
5行Python代码实现一键批量扣图
Jun 29 Python
Python Django模型详解
Oct 05 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
phpMyAdmin 安装配置方法和问题解决
2009/06/08 PHP
jquery ready函数、css函数及text()使用示例
2013/09/27 Javascript
node.js中的fs.chownSync方法使用说明
2014/12/16 Javascript
教你如何使用firebug调试功能了解javascript闭包和this
2015/03/04 Javascript
nodejs实现遍历文件夹并统计文件大小
2015/05/28 NodeJs
JavaScript学习笔记之数组随机排序
2016/03/23 Javascript
JavaScript进阶练习及简单实例分析
2016/06/03 Javascript
在线引用最新jquery文件的实现方法
2016/08/26 Javascript
js select实现省市区联动选择
2020/04/17 Javascript
JavaScript prototype属性详解
2016/10/25 Javascript
基于js中document.cookie全面解析
2017/09/14 Javascript
JS实现提交表单前的数字及邮箱校检功能
2017/11/13 Javascript
Angular4 ElementRef的应用
2018/02/26 Javascript
浅谈vue方法内的方法使用this的问题
2018/09/15 Javascript
webpack是如何实现模块化加载的方法
2019/11/06 Javascript
Vue如何基于es6导入外部js文件
2020/05/15 Javascript
基于Python实现的扫雷游戏实例代码
2014/08/01 Python
python生成词云的实现方法(推荐)
2017/06/13 Python
python如何使用正则表达式的前向、后向搜索及前向搜索否定模式详解
2017/11/08 Python
Python对切片命名的实现方法
2018/10/16 Python
Python之循环结构
2019/01/15 Python
python之拟合的实现
2019/07/19 Python
python深copy和浅copy区别对比解析
2019/12/26 Python
python如何进行矩阵运算
2020/06/05 Python
NEW LOOK官网:英国时装零售巨头之一,快时尚品牌
2017/01/11 全球购物
马来西亚太阳镜、眼镜和隐形眼镜网上商店:Focus Point
2018/12/13 全球购物
一道Delphi面试题
2016/10/28 面试题
什么样的创业计划书可行性高?
2014/02/01 职场文书
园林系毕业生求职信
2014/06/23 职场文书
就业协议书范本
2014/10/08 职场文书
2014幼儿园大班工作总结
2014/11/10 职场文书
生日答谢词
2015/01/05 职场文书
2015年中学校长工作总结
2015/05/19 职场文书
电力安全学习心得体会
2016/01/18 职场文书
2016干部作风整顿心得体会
2016/01/22 职场文书
常用的文件对应的MIME类型汇总
2022/04/26 HTML / CSS