#!/bin/bash # 测试 Artalk API 连接 echo "" echo "===================================" echo " 测试 Artalk API" echo "===================================" echo "" # 从 .env 读取配置 if [ -f ".env" ]; then ARTALK_SERVER=$(grep "^ARTALK_SERVER=" .env | cut -d'=' -f2) ARTALK_SITE=$(grep "^ARTALK_SITE=" .env | cut -d'=' -f2) else echo "错误: .env 文件不存在" exit 1 fi echo "Artalk 服务器: $ARTALK_SERVER" echo "站点名称: $ARTALK_SITE" echo "" # URL 编码站点名称 ENCODED_SITE=$(echo -n "$ARTALK_SITE" | python3 -c "import sys, urllib.parse; print(urllib.parse.quote(sys.stdin.read().strip()))" 2>/dev/null || echo -n "$ARTALK_SITE" | jq -sRr @uri 2>/dev/null || echo "$ARTALK_SITE") echo "编码后的站点名: $ENCODED_SITE" echo "" # 测试 API URL="$ARTALK_SERVER/api/v2/comments?site_name=$ENCODED_SITE&limit=5&sort_by=created_at&sort_order=desc" echo "请求 URL: $URL" echo "" echo "--- 发送请求 ---" echo "" # 发送请求并显示完整响应 curl -v "$URL" 2>&1 echo "" echo "" echo "--- 测试完成 ---" echo "" # 测试基本连通性 echo "测试服务器连通性..." if curl -s -o /dev/null -w "%{http_code}" "$ARTALK_SERVER" | grep -q "200\|301\|302"; then echo "✓ Artalk 服务器可访问" else echo "✗ Artalk 服务器可能无法访问" fi echo ""