Предназначен для быстрой проверки доступности веб-ресурсов из списка в файле. Осуществляет проверку HTTP-статусов (200, 301, 404 и другие), в том числе выводит их описание после проверки, обработку редиректов, умеет осуществлять несколько повторных попыток подключения. Реализована параллельная обработка нескольких потоков для оптимизации времени проверки. Включает поддержку пользовательских DNS-серверов, в том числе DNS-over-HTTPS (DoH). Генерирует детализированные отчеты в форматах TXT, CSV и Markdown с полной статистикой. Удобно, например, когда вы что-то намудрили в своей сети и хотите понять - конкретные сайты у вас не работают, или вообще интернета нет.
- PowerShell 5.1 или новее
- curl (входит в состав Windows, начиная с Windows 10)
- Не забывайте включить выполнение скриптов (ExecutionPolicy) в своей системе, так как по умолчанию оно отключено
- Создайте файл
addresses.txt
со списком URL (по одному на строку) - Запустите скрипт:
.\HTTPStatusChecker.ps1
-AddressesFile [string] Файл со списком адресов (по умолчанию: addresses.txt)
-OutputFile [string] Файл вывода результатов (по умолчанию: results.txt)
-MaxRetries [int] Макс. количество попыток (по умолчанию: 5)
-RetryDelay [int] Задержка между попытками в секундах (по умолчанию: 2)
-Timeout [int] Таймаут соединения в секундах (по умолчанию: 10)
-MaxThreads [int] Количество параллельных потоков (по умолчанию: 10)
-DohUrl [string] URL для DNS-over-HTTPS (пример: "https://cloudflare-dns.com/dns-query")
-DnsServers [string] Список DNS-серверов через запятую (пример: "8.8.8.8,1.1.1.1")
# Проверка с увеличенным количеством попыток
.\HTTPStatusChecker.ps1 -MaxRetries 8
# Использование пользовательских DNS-серверов
.\HTTPStatusChecker.ps1 -DnsServers "8.8.8.8,1.1.1.1"
# Использование DoH
.\HTTPStatusChecker.ps1 -DohUrl "https://cloudflare-dns.com/dns-query"
Файл должен содержать URL по одному на строку. Пустые строки и строки, начинающиеся с #
, игнорируются. А к сайтам без перефикса, к адресу автоматически добавляется префикс "https://".
Пример содержимого addresses.txt
:
example.com
https://google.com
# Этот комментарий будет проигнорирован
github.com
После выполнения скрипт генерирует три файла:
results.txt
- детальный текстовый отчетresults.csv
- таблица результатов для анализаresults.md
- форматированный отчет в Markdown
Отчеты содержат сводную статистику и детальную информацию по каждому ресурсу, сгруппированную по категориям: доступные, редиректы, недоступные, ошибки. А также полезную краткую информацию к значениям.