python?http通信接口開發(fā)示例
前言
需求背景來源于AI算法通信接口編寫…采用python flask框架 解決flask不是生產(chǎn)環(huán)境問題
一、flask框架
1.1,簡介
- Flask是一個使用 Python 編寫的輕量級 Web 應用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎則使用 Jinja2 。Flask使用 BSD 授權(quán)。Flask也被稱為 “microframework” ,因為它使用簡單的核心,用 extension 增加其他功能。Flask沒有默認使用的數(shù)據(jù)庫、窗體驗證工具。
- Flask是一個輕量級的可定制框架,使用Python語言編寫,較其他同類型框架更為靈活、輕便、安全且容易上手。它可以很好地結(jié)合MVC模式進行開發(fā),開發(fā)人員分工合作,小型團隊在短時間內(nèi)就可以完成功能豐富的中小型網(wǎng)站或Web服務的實現(xiàn)。另外,F(xiàn)lask還有很強的定制性,用戶可以根據(jù)自己的需求來添加相應的功能,在保持核心功能簡單的同時實現(xiàn)功能的豐富與擴展,其強大的插件庫可以讓用戶實現(xiàn)個性化的網(wǎng)站定制,開發(fā)出功能強大的網(wǎng)站。
- Flask的基本模式為在程序里將一個視圖函數(shù)分配給一個URL,每當用戶訪問這個URL時,系統(tǒng)就會執(zhí)行給該URL分配好的視圖函數(shù),獲取函數(shù)的返回值并將其顯示到瀏覽器上,其工作過程見圖。
1.2,參數(shù)說明 get 和 post的區(qū)別
二、使用步驟
1.引入庫
代碼如下(示例):
from flask import Flask, request, jsonify import json
2.完整代碼實現(xiàn)
服務端代碼:
from flask import Flask, request, jsonify import json from gevent import pywsgi # from settings import APP_PORT # 創(chuàng)建一個服務 app = Flask(__name__) # 創(chuàng)建一個接口 指定路由和請求方法 定義處理請求的函數(shù) @app.route(rule='/analysis/alarm_push/', methods=['POST']) def everything(): # 1.獲取 JSON 格式的請求體 并解析拿到數(shù)據(jù) # if not request.data: # 檢測是否有數(shù)據(jù) # return 'fail' request_body = request.get_json() print('request_body:', request_body) print('request.data:', request.data) print(request.headers) return request.data if __name__ == '__main__': # 啟動服務 指定主機和端口 server = pywsgi.WSGIServer(('127.0.0.1', 8807), app) print('server is running...') server.serve_forever()
客戶端代碼:
最簡潔的辦法:利用postman工具編輯,然后可以自動生成代碼 例如post推送圖片
3.測試
3.1 請求測試
pycharm的HTTP請求測試
http文件內(nèi)容如下
###9.test POST http://127.0.0.1:8807/analysis/alarm_push/ Content-Type: application/json { "data": "data" }
運行HTTP文件發(fā)送請求后服務端可以看到:
請求的響應:
postman等工具進行測試
總結(jié)
現(xiàn)在人工智能應用越來越廣泛,算法寫好了,但要還要應用到實際工程上。這時候就需要算法和工程的對接,需要編寫接口,實現(xiàn)啟動算法、與平臺信息交換等工作。本次python接口采用flask框架+postman工具可進行快速開發(fā)。
到此這篇關于python http通信接口開發(fā)示例的文章就介紹到這了,更多相關python http通信接口內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
python實現(xiàn)aes加密及pycryptodome庫使用
AES算法是高級加密標準,它是一種對稱加密算法,AES只有一個密鑰,這個密鑰既用來加密,也用于解密,這篇文章主要給大家介紹了關于python實現(xiàn)aes加密及pycryptodome庫使用的相關資料,需要的朋友可以參考下2023-10-10