PhysicsCorrection/test_image_url.sh

98 lines
2.4 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/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可以用于作业批改工作流"