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中super函数的用法
Nov 17 Python
在Pycharm中项目解释器与环境变量的设置方法
Oct 29 Python
python在回调函数中获取返回值的方法
Feb 22 Python
Python读取stdin方法实例
May 24 Python
python list转置和前后反转的例子
Aug 26 Python
Python多继承以及MRO顺序的使用
Nov 11 Python
详解Python中的format格式化函数的使用方法
Nov 20 Python
通过实例解析Python调用json模块
Dec 11 Python
解决python 找不到module的问题
Feb 12 Python
python初步实现word2vec操作
Jun 09 Python
在pytorch中动态调整优化器的学习率方式
Jun 24 Python
python实现视频压缩功能
Dec 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
PHP中$_FILES的使用方法及注意事项说明
2014/02/14 PHP
php实现三级级联下拉框
2016/04/17 PHP
php查询操作实现投票功能
2016/05/09 PHP
PHP中ID设置自增后不连续的原因分析及解决办法
2016/08/21 PHP
在iframe里的页面编写js,实现在父窗口上创建动画效果展开和收缩的div(不变动iframe父窗口代码)
2011/12/20 Javascript
解析javascript 实用函数的使用详解
2013/05/10 Javascript
jquery解析XML字符串和XML文件的方法说明
2014/02/21 Javascript
JavaScript 作用域链解析
2014/11/13 Javascript
Angularjs 滚动加载更多数据
2016/03/17 Javascript
微信小程序 参数传递详解
2016/10/24 Javascript
Vue单文件组件的如何使用方式介绍
2017/07/28 Javascript
vue-resource请求实现http登录拦截或者路由拦截的方法
2018/07/11 Javascript
使用node.js实现微信小程序实时聊天功能
2018/08/13 Javascript
vuex实现数据状态持久化
2019/11/11 Javascript
详解Vue3中对VDOM的改进
2020/04/23 Javascript
基于canvasJS在PHP中制作动态图表
2020/05/30 Javascript
[03:03]2014DOTA2国际邀请赛 EG战队专访
2014/07/12 DOTA
[01:01:29]2018DOTA2亚洲邀请赛 4.4 淘汰赛 VP vs Liquid 第一场
2018/04/05 DOTA
[04:13]2018国际邀请赛典藏宝瓶Ⅱ饰品一览
2018/07/21 DOTA
Python实现多线程下载文件的代码实例
2014/06/01 Python
python简单实现计算过期时间的方法
2015/06/09 Python
简单了解什么是神经网络
2017/12/23 Python
python使用numpy读取、保存txt数据的实例
2018/10/14 Python
python石头剪刀布小游戏(三局两胜制)
2021/01/20 Python
python对csv文件追加写入列的方法
2019/08/01 Python
浅谈Python_Openpyxl使用(最全总结)
2019/09/05 Python
python常用数据重复项处理方法
2019/11/22 Python
python groupby 函数 as_index详解
2019/12/16 Python
Python类如何定义私有变量
2020/02/03 Python
Python爬虫实现自动登录、签到功能的代码
2020/08/20 Python
关于责任的演讲稿
2014/05/20 职场文书
2015年感恩父亲节演讲稿
2015/03/19 职场文书
拾金不昧通报表扬范文
2015/05/05 职场文书
小学数学教师研修感悟
2015/11/18 职场文书
女人创业励志语录,句句蕴含能量,激发你的潜能
2019/08/20 职场文书
Android自定义ScrollView实现阻尼回弹
2022/04/01 Java/Android