2016-12-02 4 views
0

Я пытаюсь загрузить файл из Интернета, используя следующую команду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

ответ

2

Мне кажется, что на основе вашего вывода $url и $artifactHttpAddress не отличаются. Есть ли файл ZIP в URL с 531 в нем?

+0

Это была проблема, я думаю, пропущенная разница между URL-адресами – bumbeishvili

Смежные вопросы