2016-12-02 24 views
0

我尝试使用到从网上下载文件,下面的命令调用-WebRequest的通网址为脚本参数(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

它是空的下载zip文件。

,但是当我尝试这个网址赋值给变量,并调用Web请求

$url = "http://10.45.48.26/httpAuth/repository/downloadAll/TeamCityTest_Build/529:id/artifacts.zip" 
Invoke-WebRequest $url -OutFile c:/test.zip -Headers $Headers 

它工作正常,下载zip文件,其中有它的一些内容。

我尝试下面的脚本

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文件是否存在于531的URL中?

+0

这是我认为的问题,错过了网址之间的差异 – bumbeishvili

相关问题