Я пытаюсь получить код состояния 200 для URL, но вместо этого получаю 0.URL работает, но проблема в том, что это перенаправленный URL.Даже если я попробую окончательный URL-адрес после его перенаправления, он все равно покажет мне код статуса 0.
Как я могу получить правильный код состояния для сайта, который работает или не работает, независимо от того, был ли он перенаправлен или нет?
Это то, что у меня сейчас, отлично работает для обычных URL-адресов, таких как http://google.com, но не для перенаправленных URL-адресов.К сожалению, URL-адреса, с которыми я работаю, являются частными, но они имеют формат http://example.com, который заканчивается на https://example.com/index?redirectUrl=
Если я запускаю скрипт PS ниже с:. \ CheckUrl.ps1 https://example.com/index?redirectUrl=
... по-прежнему не удается вернуть код 200. Страница отображается нормально, использую ли я 1-й URL или окончательный перенаправленный URL, но код состояния возвращает 0, что означает, что сайт говорит, чтовниз, и это не правда.
$url = $args[0]
function Get-WebStatus($url) {
try {
[Net.HttpWebRequest] $req = [Net.WebRequest]::Create($url)
$req.Method = "HEAD"
[Net.HttpWebResponse] $res = $req.GetResponse()
if ($res.StatusCode -eq "200") {
Write-Host "`nThe site $url is UP (Return code: $($res.StatusCode) - $([int] $res.StatusCode))`n"
} else {
Write-Host "`nThe site $url is DOWN (Return code: $($res.StatusCode) - $([int] $res.StatusCode))`n"
}
} catch {
Write-Host "`nThe site $url is DOWN (Return code: $($res.StatusCode) - $([int] $res.StatusCode))`n" -ForegroundColor Red -BackgroundColor Black
}
}
Get-WebStatus $url