如何在PowerShell中不调用cmd.exe执行curl命令从JFrog Artifactory下载文件
PowerShell 直接下载 JFrog Artifactory 文件的实现方法
你原来套cmd.exe /c调用curl的逻辑完全可以直接在PowerShell中复用,只需要做很小的调整:
方案1:直接调用系统原生curl二进制(参数零修改)
PowerShell 默认把curl设为内置命令Invoke-WebRequest的别名,所以你只要明确指定调用curl.exe(Windows 10 1809及后续版本、Windows 11默认自带该二进制,无需额外安装),不需要套cmd就能直接跑,所有参数和你原来的写法完全一致:
curl.exe -H "X-JFrog-Art-Api: <API key>" "<ARTIFACTORY_URL>" -o "<Local_Path>"
方案2:使用PowerShell原生命令实现(无需依赖外部curl)
如果你不想依赖系统的curl二进制,可以直接用PowerShell内置的Invoke-WebRequest完成下载,写法如下:
# 构造请求头 $artifactoryHeaders = @{ "X-JFrog-Art-Api" = "<API key>" } # 执行下载 Invoke-WebRequest -Uri "<ARTIFACTORY_URL>" -Headers $artifactoryHeaders -OutFile "<Local_Path>"
如果遇到Artifactory使用自签名证书的报错,可以在Invoke-WebRequest后添加-SkipCertificateCheck参数跳过证书校验,该参数仅支持PowerShell 5.1及以上版本
内容的提问来源于stack exchange,提问作者RajM
相关产品推荐
相关产品推荐

