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中移动目录结构的方法
Jan 31 Python
Python使用Paramiko模块编写脚本进行远程服务器操作
May 05 Python
详解Python3中字符串中的数字提取方法
Jan 14 Python
sublime text 3配置使用python操作方法
Jun 11 Python
Django框架多表查询实例分析
Jul 04 Python
python 2.7.13 安装配置方法图文教程
Sep 18 Python
Python读取csv文件分隔符设置方法
Jan 14 Python
python微信聊天机器人改进版(定时或触发抓取天气预报、励志语录等,向好友推送)
Apr 25 Python
Python使用多进程运行含有任意个参数的函数
May 02 Python
python中元组的用法整理
Jun 15 Python
弄清Pytorch显存的分配机制
Dec 10 Python
Python下载商品数据并连接数据库且保存数据
Mar 31 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
Smarty局部缓存的几种方法简介
2014/06/17 PHP
学习php设计模式 php实现抽象工厂模式
2015/12/07 PHP
Zend Framework教程之Zend_Controller_Plugin插件用法详解
2016/03/07 PHP
php进程(线程)通信基础之System V共享内存简单实例分析
2019/11/09 PHP
简单的两种Extjs formpanel加载数据的方式
2013/11/09 Javascript
Extjs 4.x 得到form CheckBox 复选框的值
2014/05/04 Javascript
jQuery实现的五子棋游戏实例
2015/06/13 Javascript
JS实现HTML表格排序功能
2016/08/05 Javascript
浅谈Angular4中常用管道
2017/09/27 Javascript
详解webpack-dev-server 设置反向代理解决跨域问题
2018/04/18 Javascript
微信小程序开发之路由切换页面重定向问题
2018/09/18 Javascript
加快Vue项目的开发速度的方法
2018/12/12 Javascript
vue实现点击隐藏与显示实例分享
2019/02/13 Javascript
JS实现点击生成UUID的方法完整实例【基于jQuery】
2019/06/12 jQuery
原生js实现无缝轮播图
2020/01/11 Javascript
Node.js 中如何收集和解析命令行参数
2021/01/08 Javascript
[33:09]完美世界DOTA2联赛循环赛 Forest vs DM BO2第二场 10.29
2020/10/29 DOTA
python基础教程之popen函数操作其它程序的输入和输出示例
2014/02/10 Python
基于scrapy实现的简单蜘蛛采集程序
2015/04/17 Python
Python实现嵌套列表去重方法示例
2017/12/28 Python
解决pycharm py文件运行后停止按钮变成了灰色的问题
2018/11/29 Python
Python实现将通信达.day文件读取为DataFrame
2018/12/22 Python
python实现flappy bird小游戏
2018/12/24 Python
django框架事务处理小结【ORM 事务及raw sql,customize sql 事务处理】
2019/06/27 Python
django项目中使用手机号登录的实例代码
2019/08/15 Python
django的模型类管理器——数据库操作的封装详解
2020/04/01 Python
详解Python IO口多路复用
2020/06/17 Python
通过自学python能找到工作吗
2020/06/21 Python
CSS3 网页下拉菜单代码解释 中文翻译
2010/02/27 HTML / CSS
Revolution Beauty美国官网:英国知名化妆品网站
2018/07/23 全球购物
性能测试工程师的面试题
2015/02/20 面试题
我的中国心演讲稿
2014/09/04 职场文书
高一课前三分钟演讲稿
2014/09/13 职场文书
内勤岗位职责范本
2015/04/13 职场文书
办公经费申请报告
2015/05/15 职场文书
家长意见和建议怎么写
2015/06/04 职场文书