在上篇我們談到《mac OS Sublime Text3 配置成 Python IDE環(huán)境》粘招,也有涉及到《Python Flask RESTful API -- HTTPAuth》哪自,那么我們能不能在Sublime Text3運(yùn)行Flask HTTPAuth呢晶框,試試看.
1品山、在Sublime Text3新增一個(gè).py文件,命名為FlaskHTTPAuth.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()
快捷鍵 Command + B,運(yùn)行成功抢腐。
打開終端姑曙,測(cè)試RESTful API是否能成功調(diào)用,測(cè)試之前先安裝 HTTPie
pip install HTTPie
按下回車鍵迈倍,安裝成功伤靠,接著輸入:
http -a kingly:hello http://127.0.0.1:5000
利用HTTPie中的http -a 命令帶入API需要的用戶名和密碼(kingly:hello),訪問成功啼染。
果然能運(yùn)行宴合,喜悅之情溢于言表,高興之余迹鹅,在Sublime Text3 再次按下了快捷鍵卦洽,Command +B運(yùn)行, 報(bào)錯(cuò)斜棚,圖片如下:
看到了報(bào)錯(cuò)的關(guān)鍵詞:socket.error: [Errno 48] Address already in use阀蒂,這應(yīng)該是通信方面的socket端口被占用的問題该窗,應(yīng)該是第一次運(yùn)行時(shí)5000端口被占用了,還沒來(lái)得及使用快捷鍵 Ctrl + C釋放蚤霞,知道原理后酗失,只要找出占用端口的進(jìn)程,殺死即可昧绣,打開終端规肴,輸入:
lsof -i :5000
查看端口占用情況,從下圖可以看出Python程序占用5000端口
殺死進(jìn)程夜畴,輸入kill以及進(jìn)程PID 4499奏纪,回車鍵執(zhí)行:
kill 4499
返回Sublime Text3,再次Command + B運(yùn)行程序斩启,成功序调!