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编辑器WingIDE的使用经验总结
Aug 31 Python
python3.x上post发送json数据
Mar 04 Python
python实现遍历文件夹修改文件后缀
Aug 28 Python
Django csrf 两种方法设置form的实例
Feb 03 Python
Python绘制堆叠柱状图的实例
Jul 09 Python
python基于gevent实现并发下载器代码实例
Nov 01 Python
Python注释、分支结构、循环结构、伪“选择结构”用法实例分析
Jan 09 Python
python图形界面开发之wxPython树控件使用方法详解
Feb 24 Python
Python: tkinter窗口屏幕居中,设置窗口最大,最小尺寸实例
Mar 04 Python
Python实现加密接口测试方法步骤详解
Jun 05 Python
Django怎么在admin后台注册数据库表
Nov 14 Python
python爬虫scrapy基本使用超详细教程
Feb 20 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
php做下载文件的实现代码及文件名中乱码解决方法
2011/02/03 PHP
php常用hash加密函数
2014/11/22 PHP
php实现数组中出现次数超过一半的数字的统计方法
2018/10/14 PHP
关于jQuery object and DOM element
2013/04/15 Javascript
文本域中换行符的替换示例
2014/03/04 Javascript
可以浮动某个物体的jquery控件用法实例
2015/07/24 Javascript
百度地图api如何使用
2015/08/03 Javascript
js实现仿Discuz文本框弹出层效果
2015/08/13 Javascript
Angularjs 与 bower安装和使用详解
2017/05/11 Javascript
[js高手之路]设计模式系列课程-发布者,订阅者重构购物车的实例
2017/08/29 Javascript
JS基于递归实现网页版计算器的方法分析
2017/12/20 Javascript
node使用promise替代回调函数
2018/05/07 Javascript
Vue中CSS动画原理的实现
2019/02/13 Javascript
微信小程序通过一个json实现分享朋友圈图片
2019/09/03 Javascript
解决echarts vue数据更新,视图不更新问题(echarts嵌在vue弹框中)
2020/07/20 Javascript
[01:10:58]KG vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
python获取糗百图片代码实例
2013/12/18 Python
python单例模式实例分析
2015/04/08 Python
Python 加密与解密小结
2018/12/06 Python
python钉钉机器人运维脚本监控实例
2019/02/20 Python
Python爬取破解无线网络wifi密码过程解析
2019/09/17 Python
五分钟带你搞懂python 迭代器与生成器
2020/08/30 Python
python用Configobj模块读取配置文件
2020/09/26 Python
通信工程专业女生个人求职信
2013/09/21 职场文书
英语翻译系毕业生求职信
2013/09/29 职场文书
策划助理岗位职责
2013/11/18 职场文书
专科毕业生自我鉴定
2013/12/01 职场文书
供应链金融服务方案
2014/05/25 职场文书
校园游戏活动新闻稿
2014/10/15 职场文书
幼儿园园长新年寄语2015
2014/12/08 职场文书
党员倡议书
2015/01/19 职场文书
街道社区活动报告
2015/02/05 职场文书
政协常委会议主持词
2015/07/03 职场文书
用几道面试题来看JavaScript执行机制
2021/04/30 Javascript
python图像处理基本操作总结(PIL库、Matplotlib及Numpy)
2021/06/08 Python
PostgreSQL并行计算算法及参数强制并行度设置方法
2022/04/06 PostgreSQL