Я пытаюсь загрузить файл из Интернета, используя следующую командуInvoke-WebRequest передача URL в качестве аргумента сценария (PowerShell)
Invoke-WebRequest $url -OutFile $filePath -Headers $Headers
У меня есть аргумент, который содержит этот адрес и передается в качестве параметра
[string]$artifactHttpAddress = $args[2]
в настоящее время его значение
http://10.45.48.26/httpAuth/repository/downloadAll/TeamCityTest_Build/529:id/artifacts.zip
Так что, когда я пытаюсь вызвать WebRequest с помощью следующей команды
Invoke-WebRequest $artifactHttpAddress -OutFile c:/test.zip -Headers $Headers
он загружает пустой почтовый файл.
, но когда я пытаюсь присвоить этот адрес переменной и вызова веб-запроса
$url = "http://10.45.48.26/httpAuth/repository/downloadAll/TeamCityTest_Build/529:id/artifacts.zip"
Invoke-WebRequest $url -OutFile c:/test.zip -Headers $Headers
Он работает правильно, загрузки архива, которые имеют некоторое содержание в нем.
Я попробовал следующий сценарий
Write-Host([string]$url -eq [string]$artifactHttpAddress)
Write-Host([string]$url)
Write-Host([string]$artifactHttpAddress)
Он выводит
False
http://10.45.48.26/httpAuth/repository/downloadAll/TeamCityTest_Build/528:id/artifacts.zip
http://10.45.48.26/httpAuth/repository/downloadAll/TeamCityTest_Build/531:id/artifacts.zip
Что происходит и почему?
p.s. этот скрипт находится внутри ScriptBlock
Это была проблема, я думаю, пропущенная разница между URL-адресами – bumbeishvili