описание недоступности сайта, тест 2

This commit is contained in:
2026-05-25 11:34:08 +03:00
parent 9bbafe7c35
commit 57f783e70d

View File

@@ -57,13 +57,33 @@ def fetch_html(url: str) -> str:
} }
try: try:
r = requests.get(url, headers=headers, timeout=20) response = requests.get(url, headers=headers, timeout=20)
r.raise_for_status() response.raise_for_status()
return r.text return response.text
except requests.exceptions.Timeout:
return "Ошибка: сайт слишком долго отвечает"
except requests.exceptions.ConnectionError:
return "Ошибка: не удалось подключиться к сайту"
except requests.exceptions.HTTPError as e:
return f"Ошибка HTTP: {e.response.status_code}"
except requests.exceptions.TooManyRedirects:
return "Ошибка: слишком много редиректов"
except requests.exceptions.InvalidURL:
return "Ошибка: неверный URL"
except requests.exceptions.MissingSchema:
return "Ошибка: отсутствует схема URL (https://)"
except requests.exceptions.SSLError:
return "Ошибка SSL сертификата"
except requests.exceptions.RequestException as e: except requests.exceptions.RequestException as e:
return f"Сайт недоступен: {e}" return f"Неизвестная ошибка запроса: {e}"
def normalize_status(score1: str | None, score2: str | None, dt: datetime) -> str: def normalize_status(score1: str | None, score2: str | None, dt: datetime) -> str:
now = datetime.now(TZ) now = datetime.now(TZ)