美文网首页Flask
Python Flask RESTful API -- HTTP

Python Flask RESTful API -- HTTP

作者: lvghua | 来源:发表于2018-03-27 15:27 被阅读0次

1、编写背景

使用Flask 编写的RESTful API,都是完全开放的,任何客户端都能随意调用,如果只是纯粹编写Demo级别的API,倒无所谓,如果企业级开发,必然会涉及到API的安全调用问题, 接下来我们一起探讨这个话题。

2、Flask-HTTPAuth

我们引入 Flask-HTTPAuth 安全机制,客户端要使用API需要录入用户名和密码。

2.1 创建项目

在IDE Pycharm中创建项目名为Flask-HTTPAUTH:

image

项目结构:

image

2.2 引入Flask-HTTPAUTH

打开终端,安装Flask-HTTPAuth:
pip install Flask-HTTPAuth

image

安装完毕,接着使用
pip list
显示组件列表,检查是否成功安装。

image

2.3 编写代码

在项目新增python文件Flask-HTTPAUTH.py,准备编写代码:


# coding=UTF-8

from flask import Flask
#https://github.com/miguelgrinberg/flask-httpauth
#安装flask-httpauth后,在PyCharm-Preferences-Project-Interpreter-增加flask-httpauth
from flask_httpauth import HTTPBasicAuth

app = Flask(__name__)
auth = HTTPBasicAuth()

users = {
    "kingly":"hello",
    "susan":"bye"
}

@auth.get_password
def get_pwd(username):
    if username in users:
        return users.get(username)

    return None

@app.route('/')
@auth.login_required
def index():
    return 'Hello %s!!' % auth.username()


if __name__ == '__main__':
    app.run()

2.4 运行

点击运行,报错:No module named flask_httpauth,后来找出问题了,虽然我们安装好了Flask-HTTPAuth,但项目没有引入。

PyCharm -> Preferences -> Project -> Interpreter -> 增加flask-httpauth

image

增加Flask-HTTPAuth,点击下面的 + ,搜索组件,输入 Flask-HTTP,选中Flask-HTTPAuth,点击下面的Install Package:

image

增加后,点击OK,再次运行,成功,打完收工!

image

相关文章

网友评论

    本文标题:Python Flask RESTful API -- HTTP

    本文链接:https://www.haomeiwen.com/subject/cghscftx.html