Ai_GirlFriend/xuniYou/测试任务384资源.py
2026-03-02 18:57:11 +08:00

74 lines
2.5 KiB
Python
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.

#!/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()