Flask使用get、post進行數據交互的方式總結

我們常常需要在服務器上開啓一個服務,供客戶端調用或是傳遞數據,現將數據交互的兩種方式(get、post)總結如下:

1.使用get方式獲取數據:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
from flask import Flask
from flask import request

app = Flask(__name__)


@app.route('/analyse', methods=['get'])
def analyse():
    data = request.args.get("text")
    print(data)
    return data

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

首先導入flask包中的request模塊,通常使用request.args.get("key")來獲取傳遞的數據中名稱爲key的內容。

客戶端可以使用http://127.0.0.1:5000/analyse?text="2020年3月"來調用服務器的接口,輸出內容如下:

"2020年12月"

2.使用post方式傳遞數據:

服務器端:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
from flask import Flask
from flask import request

app = Flask(__name__)


@app.route('/analyse', methods=['post'])
def analyse():
    data = request.form
    text = data.get("text")
    print(text)
    return text


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

客戶端:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import requests

post_data = {
    "text": "abc"
}
res = requests.post(url="http://127.0.0.1:5000/analyse", data=post_data)
print(res.text)

客戶端使用requests.post封裝了url,data等數據後傳遞給服務器。

服務器使用request.form接收數據,並通過get("key")方法獲取關鍵詞爲key的內容。

輸出結果爲:

abc

另外,如果客戶端傳遞的數據是個列表形式,單純使用request.form.get("key")的方式會出現數據缺失的現象,請讀者閱讀我的另一篇博文:https://blog.csdn.net/kevinjin2011/article/details/104909753

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章