Я видел вопросы о мониторинге нескольких веб-сайтов через Windows Machine.Мой друг хотел проверить статус 200 URL, которые он делал вручную.Я написал сценарий Power-Shell, чтобы преодолеть это.Публикация сообщения для всех пользователей.
Сохраните приведенный ниже код как "AnyName.ps1" файл в "D: \ MonitorWeb \"
#Place URL list file in the below path
$URLListFile = "D:\MonitorWeb\URLList.txt"
$URLList = Get-Content $URLListFile -ErrorAction SilentlyContinue
#For every URL in the list
Foreach($Uri in $URLList) {
try{
#For proxy systems
[System.Net.WebRequest]::DefaultWebProxy = [System.Net.WebRequest]::GetSystemWebProxy()
[System.Net.WebRequest]::DefaultWebProxy.Credentials = [System.Net.CredentialCache]::DefaultNetworkCredentials
#Web request
$req = [system.Net.WebRequest]::Create($uri)
$res = $req.GetResponse()
}catch {
#Err handling
$res = $_.Exception.Response
}
$req = $null
#Getting HTTP status code
$int = [int]$res.StatusCode
#Writing on the screen
Write-Host "$int - $uri"
#Disposing response if available
if($res){
$res.Dispose()
}
}
Поместить файл "URLList.txt" со списком URL-адресов в тот же каталог "D: \ MonitorWeb \"
например:
http://www.google.com
http://google.com
http://flexboxfroggy.com
http://www.lazyquestion.com/interview-questions-and-answer/es6
Теперь откройте обычную командную строку и перейдите к "D: \ MonitorWeb \" и введите следующую команду:
powershell -executionpolicy bypass -File .\AnyName.ps1
И вы получите вывод, как показано ниже:
HTTP STATUS 200 = OK
Примечание:
Это также работает в версии Power-Shell 2.
Работает, даже если вы находитесь за прокси (использует настройки прокси по умолчанию)
Надеюсь, это поможет!