Как проверить статус списка сайтов / URL?(Использование скрипта Power-Shell) - PullRequest
0 голосов
/ 10 октября 2018

Я хочу получить http статус нескольких URL одновременно, чтобы подготовить отчет.Как добиться этого с помощью powershell?

1 Ответ

0 голосов
/ 11 октября 2018

Я видел вопросы о мониторинге нескольких веб-сайтов через 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

И вы получите вывод, как показано ниже:

enter image description here

HTTP STATUS 200 = OK

Примечание:

Это также работает в версии Power-Shell 2.

Работает, даже если вы находитесь за прокси (использует настройки прокси по умолчанию)

Надеюсь, это поможет!

...