我尝试使用到从网上下载文件,下面的命令调用-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
这是我认为的问题,错过了网址之间的差异 – bumbeishvili