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