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实现删除文件但保留指定文件
Jun 21 Python
Python实现简单多线程任务队列
Feb 27 Python
关于Python中Inf与Nan的判断问题详解
Feb 08 Python
Python模糊查询本地文件夹去除文件后缀的实例(7行代码)
Nov 09 Python
Python爬虫设置代理IP的方法(爬虫技巧)
Mar 04 Python
python抓取需要扫微信登陆页面
Apr 29 Python
Django 实现xadmin后台菜单改为中文
Nov 15 Python
python爬虫模块URL管理器模块用法解析
Feb 03 Python
django3.02模板中的超链接配置实例代码
Feb 04 Python
python中return不返回值的问题解析
Jul 22 Python
使用Python实现音频双通道分离
Dec 25 Python
Python 避免字典和元组的多重嵌套问题
Jul 15 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
thinkPHP学习笔记之安装配置篇
2015/03/05 PHP
简单PHP会话(session)说明介绍
2016/08/21 PHP
用js模拟JQuery的show与hide动画函数代码
2010/09/20 Javascript
VBS通过WMI监视注册表变动的代码
2011/10/27 Javascript
获取内联和链接中的样式(js代码)
2013/04/11 Javascript
javascript 操作符(~、&、|、^、)使用案例
2014/12/31 Javascript
JS实用的动画弹出层效果实例
2015/05/05 Javascript
js实现类似菜单风格的TAB选项卡效果代码
2015/08/28 Javascript
跟我学习javascript的执行上下文
2015/11/18 Javascript
微信小程序 for 循环详解
2016/10/09 Javascript
教你一步步用jQyery实现轮播器
2016/12/18 Javascript
深入理解JavaScript中的预解析
2017/01/04 Javascript
JS设置CSS样式的方式汇总
2017/01/21 Javascript
es6学习笔记之Async函数的使用示例
2017/05/11 Javascript
微信小程序获取手机号授权用户登录功能
2017/11/09 Javascript
使用Vue-Router 2实现路由功能实例详解
2017/11/14 Javascript
Vue官方文档梳理之全局配置
2017/11/22 Javascript
python使用socket创建tcp服务器和客户端
2018/04/12 Python
详解python:time模块用法
2019/03/25 Python
django数据关系一对多、多对多模型、自关联的建立
2019/07/24 Python
python 正则表达式贪婪模式与非贪婪模式原理、用法实例分析
2019/10/14 Python
python中的垃圾回收(GC)机制
2020/09/21 Python
Python学习之time模块的基本使用
2021/01/17 Python
爱岗敬业演讲稿范文
2014/01/14 职场文书
建筑系毕业生自我鉴定
2014/01/24 职场文书
端午节粽子促销活动方案
2014/02/02 职场文书
对公司合理化的建议书
2014/03/12 职场文书
三月学雷锋活动总结
2014/06/26 职场文书
戒毒悔改检讨书
2014/09/21 职场文书
银行反四风对照检查材料
2014/09/29 职场文书
个人欠款协议书范本2014
2014/11/02 职场文书
党支部评议意见
2015/06/02 职场文书
简历自我评价:教师师德表现自我评价
2019/04/24 职场文书
教你使用Python pypinyin库实现汉字转拼音
2021/05/27 Python
浅谈Redis跟MySQL的双写问题解决方案
2022/02/24 Redis
尝试使用Python爬取城市租房信息
2022/04/12 Python