Python使用Flask調用API接口的方法
使用Python的Flask框架構建API接口是一種常見的做法,因為Flask輕量級且易于使用。以下是構建一個基本Flask API接口的步驟:
1. 安裝 Flask
首先,需要安裝Flask。可以通過pip安裝:
pip install Flask
2. 創(chuàng)建 Flask 應用
創(chuàng)建一個新的Python文件,比如 app.py,并設置一個基本的Flask應用:
以下包括兩種方法:
1.Get的方法:
#get的寫法
import requests
from flask import Flask, jsonify, request
# 實例化 flask 對象
app = Flask(__name__)
#get的寫法
@app.route('/test', methods=['GET'])
def TEST():
return "HELLO WORLD"
# 連接本地的域
if __name__ == '__main__':
app.run(host='127.0.0.1', port=7800, debug=True) #如果端口被占用,可以修改port的值,保持4位數(shù)就可以了
在調用接口前,我們要檢查一下幾個情況:
1.檢查代碼是否有問題,確保所有的參數(shù)都已正確傳遞,包括API密鑰、請求頭信息等;
2.在發(fā)送請求前后打印相關信息,比如請求的URL、發(fā)送的頭信息、請求體以及服務器響應的狀態(tài)碼和內容
3.確保網絡連接是穩(wěn)定的,服務器有沒有問題
我們可以先對服務器進行測試:
打開瀏覽器,輸入網址+接口,就會返回上面的結果;如果有結果,說明服務器的網絡連接是沒有問題了。

如果顯示上面的結果,說明是API通了,但是仍然無法報出結果,那么就該檢查代碼的問題了。
2.Post 的方法:
優(yōu)點:可以接受參數(shù),返回我們需要的值,可以把它視為一個無需暴露代碼的函數(shù),用來封裝自己的代碼,就像個黑箱子一樣。
#post的寫法
@app.route('/ymsearch', methods=['POST'])
def YMCS_search_json():
try:
# 保存相關數(shù)據 運行打包的def
result = request.data
#如果需要用API封裝函數(shù)運行的話,下面可以接運行的函數(shù)(run()),相當于函數(shù)run()在盲盒里面運行,最后只需要把上面接收的request.data 在run()返回的結果暴露出來return給調用者
except Exception as e:
result = 'defeated'
print(e)
return result
if __name__ == '__main__':
app.run(host='127.0.0.1', port=7800, debug=True)
3.運行 Flask 應用
使用app.run()來啟動Flask應用。如果設置debug=True,F(xiàn)lask會在代碼改變時自動重新加載,并在出現(xiàn)錯誤時提供一個調試器。
if __name__ == '__main__':
app.run(debug=True)
4.調用API接口
下面是一個使用requests庫發(fā)送GET請求的簡單示例:
import requests
#對應上面get的api的構建
url = 'http://127.0.0.1:7800/test'# API的URL
# 發(fā)送GET請求
try:
response = requests.get(url)
# 檢查請求是否成功
if response.status_code == 200:
# 連接成功后,下面是測試狀態(tài)反應
print('response沒有問題')
response.content
else:
print('請求失敗,狀態(tài)碼:', response.status_code)
except requests.exceptions.RequestException as e:
# 打印錯誤信息
print('請求出錯:', e)
對于POST請求,我們需要傳遞額外的數(shù)據,示例如下:
#對照上面的post的服務器的構建
import requests
json_url = 'http://127.0.0.1:7800/ymsearch'# API的URL
# 要發(fā)送的數(shù)據
data = {
'key1': 'value1',
'key2': 'value2'
}
# 發(fā)送POST請求
try:
response = requests.post(json_url, json=data)
if response.status_code == 200:
# 打印響應內容
print(response.json())
else:
print('請求失敗,狀態(tài)碼:', response.status_code)
except requests.exceptions.RequestException as e:
print('請求出錯:', e)
如果不是本地的端口,可以用cmd查看ipconfig 的ip地址替換本地端口號(127.0.0.1)
5.部署應用(可選擇)
開發(fā)完成后,可以將Flask應用部署到生產服務器上??梢允褂肳SGI服務器如Gunicorn,以及Nginx作為反向代理。
通過這些步驟,我們可以構建一個基本的Flask API接口。根據需要,F(xiàn)lask API可以擴展更多的功能,如數(shù)據庫集成、用戶認證、更復雜的數(shù)據處理等。
到此這篇關于Python使用Flask調用API接口的方法的文章就介紹到這了,更多相關Python Flask調用API內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python實現(xiàn)判斷字符串中包含某個字符的判斷函數(shù)示例
這篇文章主要介紹了Python實現(xiàn)判斷字符串中包含某個字符的判斷函數(shù),涉及Python自定義函數(shù)中使用find方法針對字符串的簡單判斷查找相關操作技巧,需要的朋友可以參考下2018-01-01
Python實現(xiàn)的數(shù)據結構與算法之快速排序詳解
這篇文章主要介紹了Python實現(xiàn)的數(shù)據結構與算法之快速排序,詳細分析了快速排序的原理與Python實現(xiàn)技巧,需要的朋友可以參考下2015-04-04
Python在Excel工作表添加數(shù)據驗證的示例代碼
在處理電子表格數(shù)據時,確保輸入數(shù)據的準確性和一致性至關重要,本文將介紹如何使用 Python 在 Excel 工作表中添加各種類型的數(shù)據驗證規(guī)則,文中的示例代碼講解詳細,感興趣的小伙伴可以了解下2026-05-05
詳解利用OpenCV提取圖像中的矩形區(qū)域(PPT屏幕等)
這篇文章主要介紹了詳解利用OpenCV提取圖像中的矩形區(qū)域(PPT屏幕等),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-07-07

