返回powershell中大文件的url和状态代码
我修改了一个大文件,只提供了希望在powershell中运行的URL,以检查状态代码并返回它们。我是powershell的新手,因此我的代码有一些问题。该文件也可能有重复的URL 当我只插入一个url时,我就可以工作了。我对每个物体都试过一些不同的方法,但我觉得我已经很接近了返回powershell中大文件的url和状态代码,powershell,csv,https,status,Powershell,Csv,Https,Status,我修改了一个大文件,只提供了希望在powershell中运行的URL,以检查状态代码并返回它们。我是powershell的新手,因此我的代码有一些问题。该文件也可能有重复的URL 当我只插入一个url时,我就可以工作了。我对每个物体都试过一些不同的方法,但我觉得我已经很接近了 $urlArray = Import-Csv -Path "Scripts\test.csv" | Select -ExpandProperty urls Function Get-WebStatus($url){
$urlArray = Import-Csv -Path "Scripts\test.csv" | Select -ExpandProperty urls
Function Get-WebStatus($url){
foreach ($url in $urlArray) {
# First we create the request.
$HTTP_Request = [System.Net.WebRequest]::Create($url)
# We then get the HTTP code as an integer.
$HTTP_Status = [int]$HTTP_Response.StatusCode
If ($HTTP_Status -eq 200) {
Write-Host "Site is Ok!"
} Else {
Write-Host $url + $HTTP_Request
}
}
}
我只需要一个不工作的网站列表。最好的情况是将其保存到自己的txt文件中
不起作用示例:
google.com 404应该可以:
Add-Type -AssemblyName System.Web
Add-Type -AssemblyName System.Web.Extensions
$urlArray = Import-Csv -Path "Scripts\test.csv" | Select -ExpandProperty urls
function Get-WebStatus {
param(
$urlArray
)
foreach ($url in $urlArray) {
try {
$request = Invoke-WebRequest -Uri $url -Method GET
$statusCode = $request.StatusCode
}
catch {
$statusCode = $_.Exception.Response.StatusCode.value__
}
"$statusCode returned from $url"
}
}
Get-WebStatus -urlArray $urlArray
这应该起作用:
Add-Type -AssemblyName System.Web
Add-Type -AssemblyName System.Web.Extensions
$urlArray = Import-Csv -Path "Scripts\test.csv" | Select -ExpandProperty urls
function Get-WebStatus {
param(
$urlArray
)
foreach ($url in $urlArray) {
try {
$request = Invoke-WebRequest -Uri $url -Method GET
$statusCode = $request.StatusCode
}
catch {
$statusCode = $_.Exception.Response.StatusCode.value__
}
"$statusCode returned from $url"
}
}
Get-WebStatus -urlArray $urlArray
这是我使用的函数
function Get-UrlResponse ([string] $Url)
{
try
{
$TotalMilliseconds = $(Measure-Command {
$reply = Invoke-WebRequest -Uri $Url -UseBasicParsing -DisableKeepAlive -Method Head
$statuscode = $reply.StatusCode
}).TotalMilliseconds
}
catch [Net.WebException]
{
$statuscode = [int]$_.Exception.Response.StatusCode
}
[pscustomobject]@{
URL = $url
StatusCode = $statuscode
TotalMilliseconds = $TotalMilliseconds
Date = Get-Date -f yyyyMMdd-HHmmss
}
}
$urlArray = Import-Csv -Path "Scripts\test.csv" | Select -ExpandProperty urls
foreach ($url in $urlArray) {
Get-UrlResponse $url
}
这是我使用的函数
function Get-UrlResponse ([string] $Url)
{
try
{
$TotalMilliseconds = $(Measure-Command {
$reply = Invoke-WebRequest -Uri $Url -UseBasicParsing -DisableKeepAlive -Method Head
$statuscode = $reply.StatusCode
}).TotalMilliseconds
}
catch [Net.WebException]
{
$statuscode = [int]$_.Exception.Response.StatusCode
}
[pscustomobject]@{
URL = $url
StatusCode = $statuscode
TotalMilliseconds = $TotalMilliseconds
Date = Get-Date -f yyyyMMdd-HHmmss
}
}
$urlArray = Import-Csv -Path "Scripts\test.csv" | Select -ExpandProperty urls
foreach ($url in $urlArray) {
Get-UrlResponse $url
}
您是否希望得到与此类似的结果?差不多吧。我找到了那个线程,但在拉入我的csv文件时遇到了问题。我不断收到错误。相关:所有200多个代码都正常,以及300多个重拨。。。最好检查400+代码或500+代码,您是否希望得到与此类似的结果?差不多吧。我找到了那个线程,但在拉入我的csv文件时遇到了问题。我不断收到错误。相关:所有200多个代码都正常,以及300多个重拨。。。最好检查400+码或500+码。这很有效,谢谢。我最大的问题是csv,它现在工作得很完美!这很有效,谢谢你。我最大的问题是csv,它现在工作得很完美!