2014-10-09 4 views
0

Подумайте, может ли кто-нибудь помочь. Я пытаюсь использовать powershell для импорта списка доменов и генерации HTTP-запроса для каждого из них. В настоящее время я получил это далеко:Использование импорта-CSV для запроса 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. Есть идеи?

Большое спасибо

ответ

0

внутри цикла Еогеаспа, вы можете получить доступ к текущему элементу с автоматическим переменным $_

так заменить эту строку $HTTP_Request = [System.Net.WebRequest]::Create('$csv') по $HTTP_Request = [System.Net.WebRequest]::Create("$_")

, но перед тем, как создать метод ждет для строки вам нужно будет расширить свой ресурс url (иначе вы получите pscustomObject, а не строку): Import-Csv c:\temp\urls.csv -Header "url" |select -expand url |%{ [System.Net.Webrequest]::Create("$_")}

+0

Использование автоматической переменной throw «Невозможно найти перегрузку для« Создать »и количество аргументов:« 1 »», возможно, это файл CSV, поэтому мне, возможно, придется начинать там –

+0

, если вы используете ps v3 try 'invoke -webrequest ($ _) ' –

+0

@StevenCopestake ответ обновлен –