74 lines
2.5 KiB
Python
74 lines
2.5 KiB
Python
|
|
#!/usr/bin/env python3
|
|||
|
|
"""
|
|||
|
|
测试任务384的资源是否可访问
|
|||
|
|
根据日志,任务384失败原因是"文件下载失败"
|
|||
|
|
"""
|
|||
|
|
import requests
|
|||
|
|
import sys
|
|||
|
|
|
|||
|
|
def test_url(url, name):
|
|||
|
|
"""测试URL是否可访问"""
|
|||
|
|
print(f"\n{'='*80}")
|
|||
|
|
print(f"测试 {name}")
|
|||
|
|
print(f"{'='*80}")
|
|||
|
|
print(f"URL: {url}")
|
|||
|
|
|
|||
|
|
try:
|
|||
|
|
response = requests.head(url, timeout=10, allow_redirects=True)
|
|||
|
|
print(f"状态码: {response.status_code}")
|
|||
|
|
|
|||
|
|
if response.status_code == 200:
|
|||
|
|
print("✅ 资源可访问")
|
|||
|
|
content_type = response.headers.get('Content-Type', 'Unknown')
|
|||
|
|
content_length = response.headers.get('Content-Length', 'Unknown')
|
|||
|
|
print(f"内容类型: {content_type}")
|
|||
|
|
if content_length != 'Unknown':
|
|||
|
|
size_mb = int(content_length) / (1024 * 1024)
|
|||
|
|
print(f"文件大小: {size_mb:.2f} MB")
|
|||
|
|
return True
|
|||
|
|
elif response.status_code == 404:
|
|||
|
|
print("❌ 资源不存在(404 Not Found)")
|
|||
|
|
print("这就是任务失败的原因!")
|
|||
|
|
return False
|
|||
|
|
elif response.status_code == 403:
|
|||
|
|
print("❌ 访问被拒绝(403 Forbidden)")
|
|||
|
|
return False
|
|||
|
|
else:
|
|||
|
|
print(f"❌ 状态码: {response.status_code}")
|
|||
|
|
return False
|
|||
|
|
except requests.exceptions.Timeout:
|
|||
|
|
print("❌ 请求超时")
|
|||
|
|
return False
|
|||
|
|
except requests.exceptions.ConnectionError as e:
|
|||
|
|
print(f"❌ 连接错误: {e}")
|
|||
|
|
return False
|
|||
|
|
except Exception as e:
|
|||
|
|
print(f"❌ 错误: {e}")
|
|||
|
|
return False
|
|||
|
|
|
|||
|
|
def main():
|
|||
|
|
print("="*80)
|
|||
|
|
print("任务384资源可访问性测试")
|
|||
|
|
print("="*80)
|
|||
|
|
print("\n根据日志,任务384失败原因是'文件下载失败'")
|
|||
|
|
print("需要从数据库获取具体的URL进行测试")
|
|||
|
|
print("\n请先执行SQL查询获取URL:")
|
|||
|
|
print(" mysql -u root -prootx77 fastadmin < xuniYou/检查任务384.sql")
|
|||
|
|
print("\n或者直接查询:")
|
|||
|
|
print(" SELECT JSON_EXTRACT(payload, '$.image_url'), JSON_EXTRACT(payload, '$.audio_url')")
|
|||
|
|
print(" FROM nf_generation_tasks WHERE id = 384;")
|
|||
|
|
|
|||
|
|
# 如果提供了URL参数,则测试
|
|||
|
|
if len(sys.argv) > 1:
|
|||
|
|
print("\n" + "="*80)
|
|||
|
|
print("开始测试提供的URL")
|
|||
|
|
print("="*80)
|
|||
|
|
|
|||
|
|
for i, url in enumerate(sys.argv[1:], 1):
|
|||
|
|
test_url(url, f"URL {i}")
|
|||
|
|
|
|||
|
|
print("\n" + "="*80)
|
|||
|
|
|
|||
|
|
if __name__ == "__main__":
|
|||
|
|
main()
|