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获取指定目录下所有文件名列表的方法
May 20 Python
python脚本内运行linux命令的方法
Jul 02 Python
python字典的常用操作方法小结
May 16 Python
Python2.7基于淘宝接口获取IP地址所在地理位置的方法【测试可用】
Jun 07 Python
利用django如何解析用户上传的excel文件
Jul 24 Python
对python中return和print的一些理解
Aug 18 Python
python进程管理工具supervisor的安装与使用教程
Sep 05 Python
python nmap实现端口扫描器教程
May 28 Python
详解Python中打乱列表顺序random.shuffle()的使用方法
Nov 11 Python
解决pycharm上的jupyter notebook端口被占用问题
Dec 17 Python
python 操作mysql数据中fetchone()和fetchall()方式
May 15 Python
Python Selenium异常处理的实例分析
Feb 28 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
2009/06/29 PHP
php 文章采集正则代码
2009/12/28 PHP
php_imagick实现图片剪切、旋转、锐化、减色或增加特效的方法
2014/12/15 PHP
thinkPHP使用post方式查询时分页失效的解决方法
2015/12/09 PHP
PHP单链表的实现代码
2016/07/05 PHP
PHP实现Redis单据锁以及防止并发重复写入
2018/04/10 PHP
PHP使用正则表达式实现过滤非法字符串功能示例
2018/06/04 PHP
取得一定长度的内容,处理中文
2006/12/20 Javascript
IE FF OPERA都可用的弹出层实现代码
2009/09/29 Javascript
javascript的offset、client、scroll使用方法详解
2012/12/25 Javascript
JS图片无缝滚动(简单利于使用)
2013/06/17 Javascript
JavaScript 获取任一float型小数点后两位的小数
2014/06/30 Javascript
Javascript 绘制 sin 曲线过程附图
2014/08/21 Javascript
JavaScript闭包函数访问外部变量的方法
2014/08/27 Javascript
Javascript设计模式之观察者模式的多个实现版本实例
2015/03/03 Javascript
详解利用exif.js解决ios手机上传竖拍照片旋转90度问题
2016/11/04 Javascript
JS+CSS实现下拉刷新/上拉加载插件
2017/03/31 Javascript
JavaScript生成简单等差数列
2017/11/28 Javascript
vue 动态改变静态图片以及请求网络图片的实现方法
2018/02/07 Javascript
Vue.js实现可配置的登录表单代码详解
2018/03/29 Javascript
jQuery使用hide()、toggle()函数实现相机品牌展示隐藏功能
2021/01/29 jQuery
Python简单计算文件夹大小的方法
2015/07/14 Python
Python 函数基础知识汇总
2018/03/09 Python
python用fsolve、leastsq对非线性方程组求解
2018/12/15 Python
如何用C代码给Python写扩展库(Cython)
2019/05/17 Python
使用Pycharm(Python工具)新建项目及创建Python文件的教程
2020/04/26 Python
Python学习之time模块的基本使用
2021/01/17 Python
连卡佛中国官网:Lane Crawford中文站
2018/01/27 全球购物
美国快时尚彩妆品牌:Winky Lux(透明花瓣润唇膏)
2018/11/06 全球购物
美国孩之宝玩具官网:Hasbro Pulse
2019/06/24 全球购物
2014年上半年工作自我评价
2014/01/18 职场文书
员工培训邀请函
2014/02/02 职场文书
文明工地标语
2014/06/16 职场文书
学校工作推荐信范文
2014/07/11 职场文书
党的群众路线查摆剖析材料
2014/10/10 职场文书
如何用python反转图片,视频
2021/04/24 Python