当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 检查 PowerShell 中的 URL 是否可访问 [2 种方法]

作者:精品下载站 日期:2024-12-14 05:29:08 浏览:14 分类:玩电脑

检查 PowerShell 中的 URL 是否可访问 [2 种方法]


[玩转系统] 检查 PowerShell 中的 URL 是否可访问 [2 种方法]

使用 Test-Connection Cmdlet

要在 PowerShell 中检查 URL 是否可访问:

  • 将 url 转换为 System.url 对象并使用 Select-Object cmdlet 获取主机属性。
  • 使用 Test-Connection cmd 检查主机是否可达。

使用测试连接 Cmdlet:

$url = "https://www.google.com"
$hostname = [System.Uri]$url | Select-Object -ExpandProperty Host
$isReachable = Test-Connection -ComputerName $hostname -Quiet
if ($isReachable) {
    Write-Host "$url is reachable."
} else {
    Write-Host "$url is not reachable."
}
https://www.google.com is reachable.

在上面的代码中,Test-Connection cmdlet 向主机名发送 ICMP 回显请求。首先,代码在 $url 变量中设置要检查的 URL。然后,它使用 [System.Uri] 类将 URL 转换为 Uri 对象,并选择 Host 属性。使用 Select-Object cmdlet 和 -ExpandProperty 参数的 Uri 对象。这仅从 URL 中提取主机名并将其分配给 $hostname 变量。

接下来,Test-Connection cmdlet 向 $hostname 发送 ICMP 回显请求。 -ComputerName 参数指定要 ping 的主机名,-Quiet 参数抑制输出,仅返回一个布尔值,指示 ping 是否成功。如果 ping 成功,我们将得到 True;否则,False

使用 Invoke-WebRequest Cmdlet

使用 Invoke-WebRequest cmdlet 检查该 URL 在 PowerShell 中是否可访问。

使用 Invoke-WebRequest Cmdlet:

$url = "https://www.amazon.com"
$response = Invoke-WebRequest -Uri $url -UseBasicParsing -Method Head
if ($response.StatusCode -eq 200) {
    Write-Host "$url is reachable."
} else {
    Write-Host "$url is not reachable."
}
https://www.amazon.com is reachable.

在上面的代码中,response对象代码在$url变量中设置要检查的URL,然后使用-Uri参数code>Invoke-WebRequest 来指定 URL。

此外,-UseBasicParsing 参数用于通过避免完整的 HTML 解析来加快处理速度,-Method Head 参数用于发送 HEAD 请求而不是 GET 请求,后者仅检索标头信息,而不检索页面的全部内容。

Invoke-WebRequest 返回的 response 对象包含一个 StatusCode 属性,它表示由 Invoke-WebRequest 返回的 HTTP 状态代码服务器。例如,状态码为200,则表示请求成功,URL可达。在本例中,代码会使用 Write-Host cmdlet 向控制台打印一条消息,表明 URL 可达

如果状态代码不是 200,则请求不成功。在这种情况下,代码会向控制台打印一条消息,指出 URL 无法访问

基于上述解决方案,这些方法可以应用于各种与Web相关的任务,例如监控Web服务可用性或测试网络连接性。 PowerShell 会自动执行此过程,使您的 Web 服务在需要时可用。

这就是如何在 PowerShell 中检查 URL 是否可访问的全部内容。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯