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 判断自定义对象类型
Mar 21 Python
使用wxpython实现的一个简单图片浏览器实例
Jul 10 Python
Python 正则表达式(转义问题)
Dec 15 Python
python入门之语句(if语句、while语句、for语句)
Jan 19 Python
Python学习入门之区块链详解
Jul 25 Python
python实现简单遗传算法
Mar 19 Python
Flask框架Flask-Login用法分析
Jul 23 Python
Pycharm配置autopep8实现流程解析
Nov 28 Python
详解解决jupyter不能使用pytorch的问题
Feb 18 Python
浅谈python数据类型及其操作
May 25 Python
python使用torch随机初始化参数
Mar 22 Python
Python find()、rfind()方法及作用
Dec 24 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
thinkphp3.0输出重复两次的解决方法
2014/12/19 PHP
php通过PHPExcel导入Excel表格到MySQL数据库的简单实例
2016/10/29 PHP
PHP AjaxForm提交图片上传并显示图片源码
2016/11/29 PHP
PHP框架laravel的.env文件配置教程
2017/06/07 PHP
php实现基于pdo的事务处理方法示例
2017/07/21 PHP
用js重建星际争霸
2006/12/22 Javascript
JavaScript获取GridView中用户点击控件的行号,列号
2009/04/14 Javascript
基于JQuery的浮动DIV显示提示信息并自动隐藏
2011/02/11 Javascript
js面向对象设计用{}好还是function(){}好(构造函数)
2011/10/23 Javascript
JavaScript实现twitter puddles算法实例
2014/12/06 Javascript
javascript面向对象之访问对象属性的两种方式分析
2015/01/13 Javascript
JS+CSS实现电子商务网站导航模板效果代码
2015/09/10 Javascript
JavaScript数据结构与算法之链表
2016/01/29 Javascript
浅谈AngularJS中ng-class的使用方法
2016/11/11 Javascript
jQuery点击头像上传并预览图片
2017/02/23 Javascript
vue.js数据绑定的方法(单向、双向和一次性绑定)
2017/07/13 Javascript
利用node.js实现反向代理的方法详解
2017/07/24 Javascript
解决vue-cli输入命令vue ui没效果的问题
2020/11/17 Javascript
在Python的Django框架中实现Hacker News的一些功能
2015/04/17 Python
python实现简单点对点(p2p)聊天
2017/09/13 Python
python实现简易云音乐播放器
2018/01/04 Python
解决python 未发现数据源名称并且未指定默认驱动程序的问题
2018/12/07 Python
Python Django给admin添加Action的方法实例详解
2019/04/29 Python
Pytorch保存模型用于测试和用于继续训练的区别详解
2020/01/10 Python
python 负数取模运算实例
2020/06/03 Python
浅谈html5增强的页面元素
2016/06/14 HTML / CSS
Hush Puppies澳大利亚官网:舒适的男女休闲和正装鞋
2019/08/24 全球购物
结构和类有什么异同
2012/07/16 面试题
介绍一下EJB的分类及其各自的功能及应用
2016/08/23 面试题
公司市场专员岗位职责
2014/06/29 职场文书
高一课前三分钟演讲稿
2014/09/13 职场文书
优秀团队申报材料
2014/12/26 职场文书
2015年打非治违工作总结
2015/04/02 职场文书
2016领导干部廉洁从政心得体会
2016/01/19 职场文书
选择比努力更重要?这是长期以来对“努力”的最大误解
2019/07/12 职场文书
Pycharm 如何设置HTML文件自动补全代码或标签
2021/05/21 Python