使用Import-CSV发出HTTP请求

时间:2014-10-09 12:46:21

标签: powershell http-request

想知道是否有人可以提供帮助。我正在尝试使用powershell导入域列表并为每个域生成HTTP请求。目前我已经走到了这一步:

$csvFilename = "C:\Sites\sites.csv" 
$csv = Import-Csv $csvFilename -Header @("url") |
foreach {

   $HTTP_Request = [System.Net.WebRequest]::Create('$csv')

   $HTTP_Response = $HTTP_Request.GetResponse()

   $HTTP_Status = [int]$HTTP_Response.StatusCode

If ($HTTP_Status -eq 200) { 
    Write-Host "Site is OK!" 
}
Else {
    Write-Host "The Site may be down, please check!"
}

$HTTP_Response.Close()

}

我不确定为什么,但'Create()'语句不会提取URL。有什么想法吗?

非常感谢

1 个答案:

答案 0 :(得分:1)

在foreach循环中,您可以使用自动变量$_

访问当前元素

所以请替换此行$HTTP_Request = [System.Net.WebRequest]::Create('$csv') 通过 $HTTP_Request = [System.Net.WebRequest]::Create("$_")

但是在create方法等待字符串之前,你必须扩展你的url属性(否则你得到一个pscustomObject而不是一个字符串): Import-Csv c:\temp\urls.csv -Header "url" |select -expand url |%{ [System.Net.Webrequest]::Create("$_")}