如何使用PowerShell检查网站状态代码?

网站状态代码是指网站的状态,好像来自客户端的网站请求成功与否(如果该网站可用)或网页上的任何错误(导致客户端与客户端握手失败)。

有多种网站状态代码。请参考以下链接。

https://zh.wikipedia.org/wiki/List_of_HTTP_status_codes

要使用PowerShell检索状态,我们将首先使用Invoke-WebRequest命令连接网页,然后再使用StatusCode属性。例如,

$req = Invoke-WebRequest -uri "https://theautomationcode.com"
$req
输出结果
StatusCode : 200
StatusDescription : OK
Content : <!DOCTYPE html>
         <html lang="en-US">
         <head>
         <meta charset="UTF-8">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <link rel="profile" href="http://gmpg.org/xfn/11">
         <script>...

我们可以在输出中看到状态代码。这里的200代码表示连接成功,并且网页上没有错误。

要仅检索状态码,

$req.StatusCode

在页面不可用的情况下,它会引发异常并且无法捕获状态代码,因此我们需要使用try / catch机制来处理异常并生成状态代码。

try{
   $req = Invoke-WebRequest -uri "https://theautomationcode.com/Unknownpage" Write-output    "Status Code -- $($req.StatusCode)"
} catch{
   Write-Output "Status Code --- $($_.Exception.Response.StatusCode.Value__) "
}
输出结果
Status Code --- 404