Надеюсь, что кто-то может помочь с этим.
Я создал сценарий на основе этой ссылки
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
$urlStr = Read-Host "Please enter URL to check"
[uri]$urlStr
# First we create the request.
$HTTPS_Request = [System.Net.WebRequest]::Create("$urlStr")
# We then get a response from the site.
$HTTPS_Response = $HTTPS_Request.GetResponse()
# We then get the HTTP code as an integer.
$HTTPS_Status = [int]$HTTPS_Response.StatusCode
$HTTPS_StatusDesc = [string]$HTTPS_Response.StatusDescription
#Write-Host "HTTP CODE: $HTTPS_Status"
do {
If ($HTTPS_Status -eq 301) {
Write-Host "HTTP CODE: $HTTPS_Status"
Write-Host "HTTP CODE DESCRIPTION: $HTTPS_StatusDesc"
Write-Host "Landing page moved permanently and redirects to another URL."
Write-Host "Please update Landing page to new URL"
}
ElseIf ($HTTPS_Status -eq 302) {
Write-Host "HTTP CODE: $HTTPS_Status"
Write-Host "HTTP CODE DESCRIPTION: $HTTPS_StatusDesc"
Write-Host "If this occurs once, then no issues"
Write-Host "If this occurs more than once, please update Landing page to new URL"
}
} while ($HTTPS_Status -ge 300 -and $HTTPS_Status -lt 400)
If ($HTTPS_Status -eq 200) {
Write-Host "HTTP CODE: $HTTPS_Status"
Write-Host "HTTP CODE DESCRIPTION: $HTTPS_StatusDesc"
Write-Host "Landed on page"
}
ElseIf ($HTTPS_Status -gt 400) {
Write-Host "HTTP CODE: $HTTPS_Status"
Write-Host "HTTP CODE DESCRIPTION: $HTTPS_StatusDesc"
Write-Host "Error - issue with Landing page. Please investigate."
}
# Finally, we clean up the http request by closing it.
$HTTPS_Response.Close()
$HTTPS_Response.Dispose()
#Read-Host -Prompt “Press Enter to exit”
В настоящее время вышеперечисленное построено для обработки одного URL в время, которое меня устраивало, так как количество ссылок и использование скрипта в целом было низким, поэтому я оставил его как есть.
Но поскольку использование и URL-адреса для вышеуказанного скрипта увеличиваются, я надеюсь чтобы в дальнейшем код был изменен для одновременного запуска нескольких URL-адресов.
Моя идея состоит в том, чтобы сохранить URL-адреса в файл TXT или CSV и прочитать его построчно и запустить сценарий для каждого линия. Затем он записывает ответ и выводит HTTP-код (например, 200, 404, и т. Д. c ...) в CSV (или исходный CSV-файл) и вводит туда данные.
Если возможно, я хотел бы записать вывод «$ HTTP_Response» и добавить его, но это будет второстепенной задачей.
Любая помощь будет принята с благодарностью.
Спасибо.
Раджив.