我有一个使用 REST API 下载的文件。 只是为了强调我尝试了两个命令:Invoke-RestMethod
和Invoke-WebRequest
$uri = "https://bitbucket.org.dev/projects/TEST/repos/fa/browse/Packages/ATS.txt"
$API_KEY="ZTU2MT"
Invoke-WebRequest -Headers @{Authorization=$("Basic {0}" -f $API_KEY)} -Uri $uri -OutFile ATS.txt
如果我在浏览器文件中访问该 URI 或手动下载它,则可以以清晰的方式查看文件而不会出现任何问题。
这是文件的内容(其开头(
#
# exported extension module.
# source ""
# timestamp (utc) "2020-03-30 12:06:23.3"
# ***** DO NOT EDIT! *****
但是下载文件看起来完全不同(就像它是HTML格式一样(
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-..."
我也有一些zip文件也需要下载,但我也得到了无法提取(打开(的无效文件
如 MSDN 中所述,Invoke-WebRequest
返回一个类型为BasicHtmlWebResponseObject
的对象。
您需要选择Content
属性才能获取要查找的文本。
Invoke-WebRequest -Headers @{Authorization=$("Basic {0}" -f $API_KEY)} -Uri $uri | Select-Object -Expand Content | Out-File -FilePath c:somefile.txt
更新:
查看这篇文章以查找有关从 BitBucket 中的私有存储库下载文件的更多信息。 https://stackoverflow.com/a/50222671/13440610