52 lines
1.3 KiB
Bash
52 lines
1.3 KiB
Bash
#!/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 ""
|