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将多个list合并为1个list的方法
Jun 27 Python
Python封装原理与实现方法详解
Aug 28 Python
python中将\\uxxxx转换为Unicode字符串的方法
Sep 06 Python
python opencv 二值化 计算白色像素点的实例
Jul 03 Python
大家都说好用的Python命令行库click的使用
Nov 07 Python
pycharm工具连接mysql数据库失败问题
Apr 01 Python
Python 为什么推荐蛇形命名法原因浅析
Jun 18 Python
完美解决keras 读取多个hdf5文件进行训练的问题
Jul 01 Python
Python如何解除一个装饰器
Aug 07 Python
pip已经安装好第三方库但pycharm中import时还是标红的解决方案
Oct 09 Python
Python3+Appium安装及Appium模拟微信登录方法详解
Feb 16 Python
基于Python-turtle库绘制路飞的草帽骷髅旗、美国队长的盾牌、高达的源码
Feb 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
德劲1102收音机的打理维修案例
2021/03/02 无线电
thinkPHP框架实现多表查询的方法
2018/06/14 PHP
JavaScript 创建对象和构造类实现代码
2009/07/30 Javascript
原生javascript图片自动或手动切换示例附演示源码
2013/09/04 Javascript
JS取request值以及自动执行使用示例
2014/02/24 Javascript
使用jQuery中的when实现多个AJAX请求对应单个回调的例子分享
2014/04/23 Javascript
轻量级网页遮罩层jQuery插件用法实例
2015/07/31 Javascript
js 自带的 map() 方法全面了解
2016/08/16 Javascript
Node.js实现兼容IE789的文件上传进度条
2016/09/02 Javascript
node安装--linux下的快速安装教程
2017/03/21 Javascript
js获取指定时间的前几秒
2017/04/05 Javascript
Vue-cli项目获取本地json文件数据的实例
2018/03/07 Javascript
vue中倒计时组件的实例代码
2018/07/06 Javascript
jQuery事件blur()方法的使用实例讲解
2019/03/30 jQuery
详解微信小程序实现跑马灯效果(附完整代码)
2019/04/29 Javascript
小程序云开发之用户注册登录
2019/05/18 Javascript
JavaScript实现省份城市的三级联动
2020/02/11 Javascript
用Python删除本地目录下某一时间点之前创建的所有文件的实例
2017/12/14 Python
Python命令行解析模块详解
2018/02/01 Python
Python面向对象class类属性及子类用法分析
2018/02/02 Python
pycharm创建scrapy项目教程及遇到的坑解析
2019/08/15 Python
PyCharm 2020 激活到 2100 年的教程
2020/03/25 Python
安装pyecharts1.8.0版本后导入pyecharts模块绘图时报错: “所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 ”的解决方法
2020/08/18 Python
拾金不昧的表扬信
2014/01/16 职场文书
淘宝客服自我总结鉴定
2014/01/25 职场文书
学雷锋树新风演讲稿
2014/05/10 职场文书
奉献爱心演讲稿
2014/09/04 职场文书
小学师德师风整改措施
2014/10/27 职场文书
大学生助学金感谢信
2015/01/21 职场文书
社区国庆节活动总结
2015/03/23 职场文书
税务会计岗位职责
2015/04/02 职场文书
幼儿园小班工作总结2015
2015/04/25 职场文书
Oracle设置DB、监听和EM开机启动的方法
2021/04/25 Oracle
解析laravel使用workerman用户交互、服务器交互
2021/04/28 PHP
深入理解mysql事务隔离级别和存储引擎
2022/04/12 MySQL
js面向对象编程OOP及函数式编程FP区别
2022/07/07 Javascript