用 requests 套件測試 API
實作步驟教學
使用鍵盤 ← → 或點擊下方按鈕切換投影片
| 比較項目 | Postman | Python 腳本 |
|---|---|---|
| 操作方式 | 手動點擊 | 自動執行 |
| 可重複性 | 需重新設定 | 執行即可 |
| 整合性 | 獨立工具 | 可整合至程式 |
| 自動化測試 | 需付費版 | 免費 |
視窗 1 跑伺服器,視窗 2 跑測試腳本!
1開啟 CMD 視窗
2進入專案資料夾
cd D:\自己架設AI_零基礎到大師\CH2_地端與雲端串接概念\AI_Projects\2.4_AI對話API\階段二
3啟動虛擬環境
venv\Scripts\activate
4安裝 requests 套件
pip install requests
查看 test_api.py 的完整內容:
# 引入 requests 套件
import requests
# 定義 API 端點網址
url = 'http://localhost:5000/chat'
# 準備要發送的訊息
data = {
'message': '你好,請介紹一下你自己'
}
# 發送 POST 請求
response = requests.post(url, json=data)
# 印出回應
print('狀態碼:', response.status_code)
print('回應內容:', response.json())
匯入 Python 的 HTTP 請求套件,用來發送網路請求
定義要連接的 API 網址,就是我們的 Flask 伺服器
準備要發送的資料,用 Python 字典格式表示
發送 POST 請求,json=data 會自動轉換為 JSON 格式
取得 HTTP 狀態碼,200 代表成功
將回應的 JSON 字串解析成 Python 字典
1開啟第一個 CMD 視窗
2進入階段一資料夾(有 app.py 的地方)
cd D:\自己架設AI_零基礎到大師\CH2_地端與雲端串接概念\AI_Projects\2.4_AI對話API\階段一
3啟動虛擬環境
venv\Scripts\activate
4啟動 Flask 伺服器
python app.py
啟動後你會看到以下訊息:
* Serving Flask app 'app'
* Debug mode: on
* Running on http://127.0.0.1:5000
Press CTRL+C to quit
如果你看到錯誤訊息,請檢查:
1按下 Win + R 開啟執行對話框
2輸入 cmd 然後按 Enter
3進入階段二資料夾
cd D:\自己架設AI_零基礎到大師\CH2_地端與雲端串接概念\AI_Projects\2.4_AI對話API\階段二
4啟動虛擬環境
venv\Scripts\activate
1在第二個 CMD 視窗確認已在階段二資料夾
2執行測試腳本
python test_api.py
狀態碼: 200
回應內容: {'success': True, 'message': '你好!我是一個 AI 助手...'}
Python 腳本測試成功畫面
requests.exceptions.ConnectionError:
[WinError 10061] 無法連線,因為目標電腦拒絕連線
Flask 伺服器沒有啟動,或是已經被關閉
python app.pyModuleNotFoundError: No module named 'requests'
沒有安裝 requests 套件,或沒有啟動虛擬環境
venv\Scripts\activatepip install requests
OpenAI API Key 無效、過期或格式錯誤
# .env 檔案內容應該像這樣
OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxx
一個健全的 API 需要能妥善處理錯誤。讓我們測試幾種情況:
修改 test_api.py 中的 data:
data = {
'message': '' # 空字串
}
預期結果:收到「訊息不能是空的」錯誤,狀態碼 400
data = {
'text': '這是錯誤的欄位名稱' # 應該用 'message'
}
預期結果:同樣收到錯誤,因為找不到 message 欄位
你可以修改 test_api.py 中的問題來測試不同對話:
# 修改這裡的問題
data = {
'message': '請用繁體中文解釋什麼是 API'
}
每次呼叫 OpenAI API 都會消耗 tokens(產生費用)
限制 AI 回應的最大長度,避免回應過長浪費額度
控制回應的隨機性
數值越高 → 越有創意
數值越低 → 越穩定
下一單元:Part 6 網頁介面