9898.sh
1.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/bin/bash
echo "=== 测试 API Gateway 调用 ==="
API_ID="o7epe60qzf"
# 获取所有阶段
STAGES=$(aws apigateway get-stages --rest-api-id $API_ID --query 'item[*].stageName' --output text)
if [ -z "$STAGES" ] || [ "$STAGES" = "None" ]; then
echo "❌ 没有找到阶段"
echo "请先创建部署:"
echo "aws apigateway create-deployment --rest-api-id $API_ID --stage-name prod"
else
for STAGE in $STAGES; do
echo ""
echo "=== 测试阶段: $STAGE ==="
URL="https://${API_ID}.execute-api.us-east-1.amazonaws.com/${STAGE}"
echo "调用 URL: $URL"
echo ""
echo "1. 测试根路径 (/):"
curl -v -X GET $URL/ 2>&1 | grep -E "(Connected to|HTTP/|> GET|> Host|< HTTP|502|404|403|200)"
echo ""
echo "2. 测试健康检查 (/health):"
curl -v -X GET $URL/health 2>&1 | grep -E "(Connected to|HTTP/|> GET|> Host|< HTTP|502|404|403|200)"
echo ""
echo "3. 测试 API 路径 (/api):"
curl -v -X GET $URL/api 2>&1 | grep -E "(Connected to|HTTP/|> GET|> Host|< HTTP|502|404|403|200)"
echo ""
echo "4. 简单状态码测试:"
echo "根路径: $(curl -s -o /dev/null -w "%{http_code}" $URL/)"
echo "健康检查: $(curl -s -o /dev/null -w "%{http_code}" $URL/health)"
echo "API路径: $(curl -s -o /dev/null -w "%{http_code}" $URL/api)"
done
fi