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通过get,post方式发送http请求和接收http响应的方法
May 26 Python
python模拟Django框架实例
May 17 Python
Python实现自动添加脚本头信息的示例代码
Sep 02 Python
浅谈python脚本设置运行参数的方法
Dec 03 Python
对IPython交互模式下的退出方法详解
Feb 16 Python
Python_查看sqlite3表结构,查询语句的示例代码
Jul 17 Python
python+Django实现防止SQL注入的办法
Oct 31 Python
Python新手学习装饰器
Jun 04 Python
python二维图制作的实例代码
Dec 03 Python
python可视化 matplotlib画图使用colorbar工具自定义颜色
Dec 07 Python
Python scrapy爬取起点中文网小说榜单
Jun 13 Python
Python爬虫入门案例之爬取二手房源数据
Oct 16 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初学者头疼问题总结
2006/10/09 PHP
PHP 验证码不显示只有一个小红叉的解决方法
2013/09/30 PHP
PHP中几个可以提高运行效率的代码写法、技巧分享
2014/08/21 PHP
php截取字符串函数分享
2015/02/02 PHP
Smarty使用自定义资源的方法
2015/08/08 PHP
关于jquery ajax 调用带参数的webservice返回XML数据一个小细节
2012/07/31 Javascript
ajax提交表单实现网页无刷新注册示例
2014/05/08 Javascript
jquery实现一个简单好用的弹出框
2014/09/26 Javascript
JavaScript实现鼠标滑过处生成气泡的方法
2015/05/16 Javascript
一波JavaScript日期判断脚本分享
2016/03/06 Javascript
简述Matlab中size()函数的用法
2016/03/20 Javascript
Vue.js绑定HTML class数组语法错误的原因分析
2016/10/19 Javascript
javascript设计模式之Adapter模式【适配器模式】实现方法示例
2017/01/13 Javascript
javascrpt密码强度校验函数详解
2020/03/18 Javascript
js实现页面图片消除效果
2020/03/24 Javascript
python使用arp欺骗伪造网关的方法
2015/04/24 Python
Python+django实现简单的文件上传
2016/08/17 Python
老生常谈Python进阶之装饰器
2017/05/11 Python
python类中super() 的使用解析
2019/12/19 Python
python 6.7 编写printTable()函数表格打印(完整代码)
2020/03/25 Python
python 中 .py文件 转 .pyd文件的操作
2021/03/04 Python
Tea Collection官网:一家位于旧金山的童装公司
2020/08/07 全球购物
了解AppleTalk协议吗
2014/04/01 面试题
你经历的项目中的SCM配置项主要有哪些?什么是配置项?
2013/11/04 面试题
租房合同协议书
2014/04/09 职场文书
小学生竞选班干部演讲稿
2014/04/24 职场文书
安全生产月活动总结
2014/05/04 职场文书
物流管理专业推荐信
2014/09/06 职场文书
委托书的写法
2014/09/16 职场文书
导游词之西安骊山
2019/12/20 职场文书
Python Socket编程详解
2021/04/25 Python
浅谈node.js中间件有哪些类型
2021/04/29 Javascript
sql查询结果列拼接成逗号分隔的字符串方法
2021/05/25 SQL Server
react使用antd的上传组件实现文件表单一起提交功能(完整代码)
2021/06/29 Javascript
浅析Python中的随机采样和概率分布
2021/12/06 Python
IDEA中sout快捷键无效问题的解决方法
2022/07/23 Java/Android