我想编写一个PowerShell脚本,按照以下说明下载ZIP格式的GitHub存储库:
https://docs.github.com/en/rest/reference/repos#contents
$Token = 'MyUserName:MyPAT'
$Base64Token = [System.Convert]::ToBase64String([char[]]$Token)
$Headers = @{
"Authorization" = 'Basic {0}' -f $Base64Token;
"accept" = "application/vnd.github.v3+json"
}
$Uri = "https://api.github.com/repos/{owner}/{repo}/zipball"
$r = Invoke-WebRequest -Headers $Headers -Uri $Uri -Method Get | Out-File "D:\MyRepo.zip"
代码确实下载了zip文件,但我在尝试打开zip文件时收到以下错误消息:
D:\MyRepo.zip
The archive is either in unknown format or damaged
我是PowerShell的新手,如果有任何帮助,我将不胜感激!
发布于 2021-03-02 04:54:16
您可能需要更仔细地查看
下载-a-repository-archive-zip
说明。它说响应将有一个302重定向到下载的URL。
不会自动重定向,但会提供响应头。
如果将最后一行更改为:
$response = Invoke-WebRequest -Headers $Headers -Uri $Uri -Method Get
您可以查看$response对象的标头并发出另一个
使用相同的标头和302 Uri:
$RedirectedResponse = Invoke-WebRequest -Headers $Headers -Uri $RedirectedURI -Method Get
将具有您可以解码并写入本地文件系统的编码文件内容。
https://stackoverflow.com/questions/66428571
复制相似问题