98 lines
2.4 KiB
Bash
98 lines
2.4 KiB
Bash
#!/bin/bash
|
||
|
||
# ============================================
|
||
# 图片URL测试脚本
|
||
# ============================================
|
||
|
||
echo "======================================"
|
||
echo " 图片URL测试"
|
||
echo "======================================"
|
||
echo ""
|
||
|
||
if [ -z "$1" ]; then
|
||
echo "用法: bash test_image_url.sh <图片URL>"
|
||
echo ""
|
||
echo "示例:"
|
||
echo " bash test_image_url.sh https://example.com/image.jpg"
|
||
exit 1
|
||
fi
|
||
|
||
IMAGE_URL="$1"
|
||
|
||
echo "测试URL: $IMAGE_URL"
|
||
echo ""
|
||
|
||
# 检查URL格式
|
||
if [[ ! "$IMAGE_URL" =~ ^https?:// ]]; then
|
||
echo "❌ 错误: URL格式不正确,必须以 http:// 或 https:// 开头"
|
||
exit 1
|
||
fi
|
||
|
||
echo "✅ URL格式正确"
|
||
echo ""
|
||
|
||
# 检查URL可访问性
|
||
echo "检查URL可访问性..."
|
||
|
||
HTTP_CODE=$(curl -s -o /dev/null -w "%{http_code}" -I "$IMAGE_URL")
|
||
|
||
if [ "$HTTP_CODE" = "200" ]; then
|
||
echo "✅ URL可访问 (HTTP $HTTP_CODE)"
|
||
elif [ "$HTTP_CODE" = "404" ]; then
|
||
echo "❌ URL不存在 (HTTP 404)"
|
||
echo ""
|
||
echo "可能的原因:"
|
||
echo " 1. 图片已被删除"
|
||
echo " 2. URL已过期"
|
||
echo " 3. URL错误"
|
||
exit 1
|
||
elif [ "$HTTP_CODE" = "403" ]; then
|
||
echo "❌ 无权限访问 (HTTP 403)"
|
||
echo ""
|
||
echo "可能的原因:"
|
||
echo " 1. 需要认证"
|
||
echo " 2. IP被限制"
|
||
echo " 3. 需要特定Referer"
|
||
exit 1
|
||
else
|
||
echo "⚠️ 警告: HTTP状态码 $HTTP_CODE"
|
||
fi
|
||
|
||
echo ""
|
||
|
||
# 检查Content-Type
|
||
echo "检查图片类型..."
|
||
CONTENT_TYPE=$(curl -s -I "$IMAGE_URL" | grep -i "Content-Type" | awk '{print $2}' | tr -d '\r')
|
||
|
||
if [[ "$CONTENT_TYPE" =~ image/ ]]; then
|
||
echo "✅ 图片类型: $CONTENT_TYPE"
|
||
else
|
||
echo "⚠️ 警告: Content-Type 不是图片类型: $CONTENT_TYPE"
|
||
fi
|
||
|
||
echo ""
|
||
|
||
# 检查文件大小
|
||
echo "检查文件大小..."
|
||
CONTENT_LENGTH=$(curl -s -I "$IMAGE_URL" | grep -i "Content-Length" | awk '{print $2}' | tr -d '\r')
|
||
|
||
if [ -n "$CONTENT_LENGTH" ]; then
|
||
SIZE_KB=$((CONTENT_LENGTH / 1024))
|
||
echo "✅ 文件大小: ${SIZE_KB}KB"
|
||
|
||
if [ $SIZE_KB -lt 10 ]; then
|
||
echo "⚠️ 警告: 文件过小,可能不是有效图片"
|
||
elif [ $SIZE_KB -gt 10240 ]; then
|
||
echo "⚠️ 警告: 文件过大(>10MB),可能影响处理速度"
|
||
fi
|
||
else
|
||
echo "⚠️ 警告: 无法获取文件大小"
|
||
fi
|
||
|
||
echo ""
|
||
echo "======================================"
|
||
echo " ✅ 测试完成"
|
||
echo "======================================"
|
||
echo ""
|
||
echo "该图片URL可以用于作业批改工作流"
|