Python實現Restful API
最近寫了一個網絡驗證登錄的爬蟲,需要發佈爲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"