76 lines
2.0 KiB
Bash
76 lines
2.0 KiB
Bash
#!/bin/bash
|
|
# 测试不同的 Artalk API 端点
|
|
|
|
echo ""
|
|
echo "==================================="
|
|
echo " 测试 Artalk API 端点"
|
|
echo "==================================="
|
|
echo ""
|
|
|
|
# 从 .env 读取配置
|
|
ARTALK_SERVER=$(grep "^ARTALK_SERVER=" .env | cut -d'=' -f2)
|
|
ARTALK_SITE=$(grep "^ARTALK_SITE=" .env | cut -d'=' -f2)
|
|
ARTALK_ADMIN_EMAIL=$(grep "^ARTALK_ADMIN_EMAIL=" .env | cut -d'=' -f2)
|
|
ARTALK_ADMIN_PASSWORD=$(grep "^ARTALK_ADMIN_PASSWORD=" .env | cut -d'=' -f2)
|
|
|
|
echo "服务器: $ARTALK_SERVER"
|
|
echo "站点: $ARTALK_SITE"
|
|
echo ""
|
|
|
|
# 1. 登录获取 token
|
|
echo "1. 登录获取 token..."
|
|
LOGIN_RESPONSE=$(curl -s -X POST "$ARTALK_SERVER/api/v2/auth/email/login" \
|
|
-H "Content-Type: application/json" \
|
|
-d "{\"email\":\"$ARTALK_ADMIN_EMAIL\",\"password\":\"$ARTALK_ADMIN_PASSWORD\"}")
|
|
|
|
TOKEN=$(echo "$LOGIN_RESPONSE" | grep -o '"token":"[^"]*"' | cut -d'"' -f4)
|
|
|
|
if [ -z "$TOKEN" ]; then
|
|
echo "✗ 登录失败"
|
|
echo "响应: $LOGIN_RESPONSE"
|
|
exit 1
|
|
fi
|
|
|
|
echo "✓ 登录成功,获取到 token"
|
|
echo ""
|
|
|
|
# 2. 测试不同的 API 端点
|
|
echo "2. 测试 API 端点..."
|
|
echo ""
|
|
|
|
# 端点列表
|
|
ENDPOINTS=(
|
|
"/api/v2/pages?site_name=$ARTALK_SITE&limit=100"
|
|
"/api/v2/admin/pages?site_name=$ARTALK_SITE&limit=100"
|
|
"/api/v2/comments?site_name=$ARTALK_SITE&page_key=/&limit=5"
|
|
"/api/v2/comments?site_name=$ARTALK_SITE&limit=5"
|
|
)
|
|
|
|
for endpoint in "${ENDPOINTS[@]}"; do
|
|
echo "测试: $endpoint"
|
|
RESPONSE=$(curl -s -w "\n%{http_code}" "$ARTALK_SERVER$endpoint" \
|
|
-H "Content-Type: application/json" \
|
|
-H "Authorization: Bearer $TOKEN")
|
|
|
|
HTTP_CODE=$(echo "$RESPONSE" | tail -1)
|
|
BODY=$(echo "$RESPONSE" | sed '$d')
|
|
|
|
if [ "$HTTP_CODE" = "200" ]; then
|
|
echo "✓ 成功 ($HTTP_CODE)"
|
|
echo " 响应: $BODY" | head -c 100
|
|
echo ""
|
|
break
|
|
else
|
|
echo "✗ 失败 ($HTTP_CODE)"
|
|
echo " 响应: $BODY" | head -c 100
|
|
echo ""
|
|
fi
|
|
echo ""
|
|
done
|
|
|
|
echo ""
|
|
echo "==================================="
|
|
echo " 测试完成"
|
|
echo "==================================="
|
|
echo ""
|