如何检查网站/网址列表的状态? (使用 Power-Shell 脚本)
How to check status of list of Websites / URLs? (Using Power-Shell script)
我想一次获取多个 URL 的 http 状态来准备报告。如何使用powershell实现?
我看到过关于通过 windows 机器监控多个网站的问题。我的朋友想检查他过去手动执行的 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()
}
}
将包含 URL 列表的文件 "URLList.txt" 放在同一目录中 "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 状态 200 = 正常
注:
这也适用于 power-shell 版本 2。
即使您使用代理也能正常工作(使用默认代理设置)
我想一次获取多个 URL 的 http 状态来准备报告。如何使用powershell实现?
我看到过关于通过 windows 机器监控多个网站的问题。我的朋友想检查他过去手动执行的 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()
}
}
将包含 URL 列表的文件 "URLList.txt" 放在同一目录中 "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 状态 200 = 正常
注:
这也适用于 power-shell 版本 2。
即使您使用代理也能正常工作(使用默认代理设置)